2013-09-19 2 views
4

Когда я бегуResque-планировщик расписания загрузки, но не enqueuing их

rake resque:scheduler RAILS_ENV=production 

я получаю следующий результат:

2013-09-19 18:16:16 Reloading Schedule 
2013-09-19 18:16:16 Loading Schedule 
2013-09-19 18:16:16 Scheduling aa_job 
2013-09-19 18:16:16 Scheduling bb_job 
2013-09-19 18:16:16 Scheduling cc_aggregator 
2013-09-19 18:16:16 Schedules Loaded 

Однако я вижу, что ни один из этих рабочих мест не получить на самом деле enqueued.I знаю мой рабочий работает, потому что, если я что-то вроде

Resque.enqueue(aa_job) 

Он получает очередь и выполняется, как ожидалось.

Другое дело, если я Resque.schedule в моей консоли Rails, я получаю {} (empty)

Любые идеи?

Спасибо.

ответ

0

У меня была та же проблема. Оказалось, что начался другой процесс планировщика, и когда я начал еще один, он написал, что он запланировал работу, но на самом деле этого не произошло. Поэтому я просто перезапустил все процессы планировщика, и теперь он отлично работает для меня.

+0

Как вы перезапустили все процессы планировщика? – content01

+1

Я запускаю 'ps aux | grep resque', нахожу там pids для каждого процесса планировщика resque, а затем убил каждого с помощью команды' kill -9 pid'. Затем monit начал новый процесс для меня, но вы, вероятно, должны сделать это вручную любым удобным способом. – RaskolnikOFF

+0

В случае, если кто-то еще использует мастера для запуска запуска планировщика и рабочих, вы обнаружите, что остановка мастера требует выполнения того, что предлагает RaskolnikOFF. –

5

У вас есть рабочие в соответствующей очереди?

resque_scheduler несет ответственность только за enqueueing рабочих мест, а именно: вам нужно запустить как:

rake resque:scheduler RAILS_ENV=production и QUEUE=* rake resque:work

+0

это сработало для меня – User314159

+0

OP заявляет, что его рабочий * работает *, потому что он может вставить в очередь заданий и увидеть их выполнение. –

0

Я была такая же проблема, которая была решена путем загрузки environment в задаче планировщика граблей :

rake environment resque:scheduler RAILS_ENV=production 
Смежные вопросы