Как мне написать задачу rake для запуска задачи BackgrounDRb?
У меня есть рабочий BackgrounDRb, настроенный на запуск его метода синхронизации каждые 15 минут. Затем, скажем, я хочу запустить метод только сейчас. Я пытался обернуть это в грабли следующим образом:
namespace :mytasks do
task :sync do |t|
worker = MiddleMan.worker(:my_worker)
worker.async_sync
end
end
Но это не работает. Он выручает со всеми видами неопределенных констант и так далее. Ни одна из моих попыток не требует разного. Драгоценные камни произвели выполнимую задачу граблей.:(
Итак, вопрос в том, как вызвать задачу BackgrounDRb из задачи rake?
1 ответ
Решение
Я не уверен в деталях запуска заданий BackroundDRb, но если вы хотите включить среду rails в вашу задачу rake, вы должны быть откровенны в этом. Я почти уверен, что отсутствие этого - то, что приводит к провалу вашей задачи по рейку.
namespace :foo do
task :bar => :environment do |t|
# ..
end
end