Я делаю это в моей консоли Rails:Debugging Руфус планировщик
job = scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end
job.schedule_info
=> Wed, 07 Aug 2013 16:14:46 UTC 00:00
scheduler
определен в другом файле:
require 'rubygems'
require 'rufus/scheduler'
def scheduler
@scheduler ||= Rufus::Scheduler.start_new
end
И когда я бегу в консоли:
Service.log.debug 'scheduler works'
Файл журнала службы написан.
Проблема
scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end
Не записывает в журнал после минуты. Что мне не хватает? Как я могу отладить это?
Реальная проблема
У меня есть сервер в EC2, который кажется является завершение работы и запланированные задачи не выполняются.
Дело в том, что в моей среде разработки я тестирую задачу, выполняемую за одну минуту, и она работает. Это на сервере не в консоли. В консоли, как я уже упоминал, не удается.
Дев среда
рубинового 1.9.3p327 (2012-11-10 редакция 37606) [x86_64-darwin12.0.0]
Тонкий 1.5.0
Удаленная среда
рубинового 1.9 .3p429 (2013-05-15 редакция 40747) [x86_64-Linux]
apache2 2.2.22
пассажирских 4.0.5
Gemsрельсы 3.2.8
Руфус-планировщик 2.0.18
Чем отличается среда разработки в среде EC2. На каком сервере вы запускаете Rails (в dev и в EC2)? Вы уверены, что процесс, содержащий планировщик, не завершается (и запросы обрабатываются разветвленными процессами? – jmettraux
Я думаю, что может быть сбой в журнале, то, что происходит со мной сейчас, - это выполнить кусок кода, который я могу отчетливо видеть, но у меня есть не знаю, какой код. Как я могу узнать, что процесс планировщика не заканчивается? – juanpastas
Если это проблема с промывкой журналов, посмотрите http://stackoverflow.com/questions/2210561/rufus-scheduler-not-logging-in-production ? rq = 1 – jmettraux