Я пытаюсь запустить задачу resque. Resque, похоже, запускает и запускает задания; однако задачи, как представляется, «запираются» часто после исполнения.Resque queue: Нет живых тем?
ошибка выборки выглядит следующим образом: (взято из :: выход Failure Resque)
{"failed_at"=>"2015/07/20 22:34:46 UTC",
"payload"=>{"class"=>"ImportHawaiiEventsOnline", "args"=>[]},
"exception"=>"fatal",
"error"=>"No live threads left. Deadlock?",
"backtrace"=>
["/usr/local/lib/ruby/2.1.0/open3.rb:262:in `value'",
"/usr/local/lib/ruby/2.1.0/open3.rb:262:in `block in capture3'",
"/usr/local/lib/ruby/2.1.0/open3.rb:199:in `popen_run'",
"/usr/local/lib/ruby/2.1.0/open3.rb:93:in `popen3'",
"/usr/local/lib/ruby/2.1.0/open3.rb:252:in `capture3'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/shell.rb:47:in `execute_open3'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/shell.rb:36:in `block (2 levels) in execute'",
"/usr/local/lib/ruby/2.1.0/timeout.rb:76:in `timeout'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/shell.rb:35:in `block in execute'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/logger.rb:32:in `call'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/logger.rb:32:in `block in benchmark'",
"/usr/local/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/logger.rb:32:in `benchmark'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/logger.rb:21:in `debug'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/shell.rb:34:in `execute'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/shell.rb:18:in `run'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/tool.rb:92:in `call'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/tool.rb:53:in `new'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:477:in `identify'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:198:in `validate!'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:113:in `block in create'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:112:in `tap'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:112:in `create'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:34:in `read'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:90:in `block in open'",
"/usr/local/lib/ruby/2.1.0/open-uri.rb:36:in `open'",
"/usr/local/lib/ruby/2.1.0/open-uri.rb:36:in `open'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/mini_magick-4.2.7/lib/mini_magick/image.rb:89:in `open'",
"/srv/releases/4/app/uploaders/photo_uploader.rb:57:in `get_geometry'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/processing.rb:84:in `block in process!'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/processing.rb:76:in `each'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/processing.rb:76:in `process!'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/callbacks.rb:18:in `block in with_callbacks'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/callbacks.rb:18:in `each'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/callbacks.rb:18:in `with_callbacks'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/cache.rb:122:in `cache!'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/uploader/download.rb:72:in `download!'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:356:in `remote_url='",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/mount.rb:187:in `remote_photo_url='",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/carrierwave-0.10.0/lib/carrierwave/orm/activerecord.rb:45:in `remote_photo_url='",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_assignment.rb:45:in `public_send'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_assignment.rb:26:in `each'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_assignment.rb:26:in `assign_attributes'",
"/srv/releases/4/event_jobs/generic_import.rb:45:in `event_endpoint'",
"/srv/releases/4/event_jobs/generic_import.rb:113:in `save_event'",
"/srv/releases/4/event_jobs/hawaiieventonline/import.rb:26:in `block (2 levels) in get_parser'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:187:in `block in each'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:186:in `upto'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:186:in `each'",
"/srv/releases/4/event_jobs/hawaiieventonline/import.rb:24:in `each_with_index'",
"/srv/releases/4/event_jobs/hawaiieventonline/import.rb:24:in `block in get_parser'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:187:in `block in each'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:186:in `upto'",
"/srv/releases/4/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.6.2/lib/nokogiri/xml/node_set.rb:186:in `each'",
"/srv/releases/4/event_jobs/hawaiieventonline/import.rb:21:in `get_parser'",
"/srv/releases/4/event_jobs/generic_import.rb:22:in `run_parse'",
"/srv/releases/4/app/jobs/import_hawaiieventsonline.rb:17:in `perform'"],
"worker"=>
"be920dfe9b17:5637:`(queues)`",
"queue"=>"`(queue)`"},
Я предполагаю, что это должен был сделать с mini_magick драгоценный камень - хотя это и кажется странным, что он хотел бы предложить затор потому что я использую только один поток. Я предполагаю, что это возможно из-за того, что количество запросов выполняется асинхронно, хотя я не совсем понимаю мини-маны и носители.
Есть ли у кого-нибудь предложения о том, где искать решение этой проблемы? Я запускаю 17 очередей с одним рабочим потоком, который обрабатывает все эти очереди в настоящий момент, и, похоже, он работает нормально - просто может возникнуть проблема с сохранением облака. Попытка поиска чего-либо, связанного с mini_magick/carrierwave, и проблема с потоком, похоже, ничего не показывают.
Заранее спасибо.
Просто ударил очень похожую ошибку сам - вы нашли основную причину этого? – Codebeef