canvas-lms
canvas-lms copied to clipboard
QTI1.2 to 2.1
facing the issue of importing course. "couldn't convert QTI1.2 to 2.1" completely follow the instruction, and it doesn't work.
Please help!
couldn't convert QTI1.2 to 2.1
Maybe you have Delayed Jobs stopped. Start them using script in script/canvas_init
I am having the same issue. The package I'm importing is coming from an Instructure hosted instance of Canvas and I'm trying to import it into my own development version of Canvas.
Is there something I'm doing wrong? I would assume that the Instructure version of the Quiz exporter would be the same or newer version of the Community version.
Additionally, the "qti_conversion_error.log" generated during the import process doesn't exist.
And before someone comments... this error would never happen if Delayed Jobs weren't running.
Here's the report details:
category: content_migration
created at: 2020-05-01 07:27:05 -0700
hostname: ip-10-152-40-155
pid: 10678
type: content_migration
Couldn't convert QTI 1.2 to 2.1, see error log: /tmp/job-3926160-ip.10.152.40.155.10678-20200501-10678-15qgw9z/cm_145_user_id_1_qti/qti_conversion_error.log
/var/canvas/gems/plugins/qti_exporter/lib/qti/converter.rb:109:in `run_qti_converter'
/var/canvas/gems/plugins/qti_exporter/lib/qti/converter.rb:56:in `export'
/var/canvas/gems/plugins/qti_exporter/lib/canvas/migration/worker/qti_worker.rb:47:in `perform'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/backend/base.rb:254:in `block in invoke_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:67:in `block in initialize'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:72:in `execute'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:45:in `run_callbacks'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/backend/base.rb:251:in `invoke_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/backend/base.rb:62:in `block in invoke_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:598:in `block in activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:88:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:597:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/backend/base.rb:62:in `invoke_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:196:in `block (2 levels) in perform'
/usr/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:190:in `block in perform'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing/perform.rb:22:in `block (2 levels) in enable_perform_timing'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing.rb:8:in `block in report_timing'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst_statsd-2.1.4/lib/inst_statsd/statsd.rb:89:in `time'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing.rb:8:in `report_timing'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing/perform.rb:21:in `block in enable_perform_timing'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block (2 levels) in add'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing/perform.rb:13:in `block (2 levels) in enable_batching'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst_statsd-2.1.4/lib/inst_statsd/statsd.rb:95:in `batch'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-statsd-1.2.3/lib/inst_jobs_statsd/stats/timing/perform.rb:12:in `block in enable_batching'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block (2 levels) in add'
/var/canvas/config/initializers/delayed_job.rb:133:in `block (2 levels) in <top (required)>'
/var/canvas/lib/temp_cache.rb:28:in `enable'
/var/canvas/config/initializers/delayed_job.rb:132:in `block in <top (required)>'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block (2 levels) in add'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:67:in `block in initialize'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block in add'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block in add'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:85:in `block in add'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:72:in `execute'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:45:in `run_callbacks'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:187:in `perform'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:160:in `block (2 levels) in run'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:257:in `block in configure_for_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:40:in `running_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:253:in `configure_for_job'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:159:in `block in run'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:67:in `block in initialize'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:72:in `execute'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:45:in `run_callbacks'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:152:in `run'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/worker.rb:26:in `block in run'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:598:in `block in activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:88:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:597:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/worker.rb:26:in `run'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:132:in `block in start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:67:in `block in initialize'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:72:in `execute'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/lifecycle.rb:45:in `run_callbacks'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/worker.rb:130:in `start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/worker.rb:19:in `block in start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:598:in `block in activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:88:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-1.13.2/app/models/switchman/shard_internal.rb:597:in `activate'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/switchman-inst-jobs-1.3.3/lib/switchman_inst_jobs/delayed/worker.rb:19:in `start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:97:in `block in spawn_worker'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:108:in `block in fork_with_reconnects'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:105:in `fork'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:105:in `fork_with_reconnects'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:96:in `spawn_worker'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:74:in `block (2 levels) in spawn_all_workers'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:74:in `times'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:74:in `block in spawn_all_workers'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:73:in `each'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:73:in `spawn_all_workers'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/pool.rb:40:in `start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/cli.rb:96:in `start'
/var/canvas/vendor/bundle/ruby/2.4.0/gems/inst-jobs-0.15.5/lib/delayed/cli.rb:48:in `run'
/var/canvas/script/delayed_job:11:in `<main>'
@Novusityneil I am facing similar issue. Any solution for this
I've ended up here while troubleshooting a similar issue.
I'm running Canvas using the quick start development setup. The delayed_jobs script seems to be running in a job container, but that container doesn't have the log file mentioned in the stack trace.
After reading through a bunch of Ruby code, I now have a solution for the development setup.
Run this script before ./script/docker_dev_setup.sh (the results of this script will be baked into the web image):
#! /usr/bin/env bash
set -e
TOOL_DIR="QTIMigrationTool"
mkdir -p vendor
cd vendor
git clone https://github.com/instructure/QTIMigrationTool.git "$TOOL_DIR"
chmod +x "$TOOL_DIR/migrate.py"
It installs the QTI Migration Tool as per these instructions.