How can I access model objects from rails rake task?
If I initialize my rufus scheduler $scheduler = Rufus::Scheduler.start_new
in my rake would that scheduler stay alive since it's from a rake task?
How can I access model objects from rails rake task?
If I initialize my rufus scheduler $scheduler = Rufus::Scheduler.start_new
in my rake would that scheduler stay alive since it's from a rake task?
要在 rake 任务中访问 rails 模型,您需要加载 :environment。
task :my_task => [:environment] do
User.new #...
end
您不会在任务中调用调度程序,而是反过来。您需要启动一个 Rufus 调度程序,然后从中调用您的 rake 任务。
你需要先
# other require statements ...
require 'rake'
# ...
scheduler = Rufus::Scheduler.start_new
scheduler.cron "00 6 * * *" do
Rake::Task["sometask"].invoke
end