2015-04-28 5 views
0

Я использую Sidekiq с Rails и Heroku для выполнения асинхронных рабочих, но я не могу заставить его работать. Я пробовал запускать эти рабочие вручную (выполняя метод выполнения), и они работают, однако, когда вы планируете их и проверяете веб-страницу Sidekiq, они отображаются как enqueued, и они не обрабатывают их.Enequeued jobs не обрабатываются Sidekiq

Я использую Heroku Рабочий и Redis To Go и это конфиг:

sidekiq.rb

require 'sidekiq' 

Sidekiq.configure_client do |config| 
    config.redis = { :size => 1 } 
end 

Sidekiq.configure_server do |config| 
    config.redis = { :size => 2 } 
end 

sidekiq.yml

:concurrency: 2 

Рабочий запуск

Sidekiq::Client.enqueue(MyWorker) 

Sidekiq и Redis, кажется, правильно подключен, потому что я получаю следующий журнал на Heroku:

015-04-27T21:46:51Z 3 TID-ovbydc96k INFO: Sidekiq client with redis options {:size=>1, :url=>"redis://redistogo:[email protected]:xxxx/"} 

я что-то отсутствует, но я не знаю, что. Любая помощь будет оценена по достоинству. Благодаря!

+0

Вы указали очередь при запуске sidekiq? – Sanjiv

+0

Я указал очереди в файле .yml. Должен ли я делать это по-другому? @Sanjiv –

ответ

0

Запустили ли вы эту команду, чтобы Sidekiq знал, использовать URL-адрес Redis-To-Go?

heroku config:set REDIS_PROVIDER=REDISTOGO_URL

+0

Да, я действительно, он подключается к Redis –

+0

. Тогда вполне вероятно, что у вас есть задание в очереди по умолчанию, которую Sidekiq не обрабатывает. –

Смежные вопросы