Каков синтаксис вызова rake-задач из часового механизма? Я пробовал все виды синтаксиса, и ничего не работает. (Меня особенно интересуют часовые механизмы, потому что их поддерживает Heroku.)
Вот мой файл clock.rb, использующий тот же синтаксис, что и гем всякий раз:
module Clockwork
puts "testing clockwork!"
every(30.seconds, 'Send Messages') {
rake 'scheduler:send_messages'
}
end
А вот моя задача rake в scheduler.rake:
task :send_messages => :environment do
puts "rake task run successfully!"
end
А вот что происходит, когда я запускаю часовой процесс:
$ clockwork lib/clock.rb
testing clockwork!
I, [2012-07-16T14:42:58.107245 #46427] INFO -- : Starting clock for 1 events: [ Send Messages ]
I, [2012-07-16T14:42:58.107364 #46427] INFO -- : Triggering 'Send Messages'
attempting to run rake task!
E, [2012-07-16T14:42:58.107437 #46427] ERROR -- : undefined method `rake' for Clockwork:Module (NoMethodError)
Это выполняется каждые 30 секунд. Как видите, clock.rb выполняется успешно. Но я не могу на всю жизнь понять синтаксис для запуска задачи rake. К сожалению, ридми часового механизма не поможет: