Как мне написать задачу 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
Другие вопросы по тегам