доступ к моделям рельсов из грабли - PullRequest
3 голосов
/ 23 июня 2011

Как я могу получить доступ к объектам модели из задачи raike rake?

Если я инициализирую свой планировщик rufus $scheduler = Rufus::Scheduler.start_new в моем рейке, этот планировщик останется в живых, так как это из рейка?

1 Ответ

9 голосов
/ 23 июня 2011

Чтобы получить доступ к модели рельсов в вашей задаче rake, вам нужно загрузить: environment.

task :my_task => [:environment] do
  User.new #...
end

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

Вам нужно сначала

# other require statements ...
require 'rake'

# ...

scheduler = Rufus::Scheduler.start_new
scheduler.cron "00 6 * * *" do
  Rake::Task["sometask"].invoke
end
...