Mor*_*ger 1 ruby rake ruby-on-rails rakefile ruby-on-rails-3
我有一个模型,我们称之为Foobar.我希望能够运行一个cron作业来更新作为Foobar实例的所有对象的属性.所以,在伪代码中,它可能是这样的:
Foobar.all.each do |foobar|
foobar.update_attributes({:my_attribute => 'updated'});
end
Run Code Online (Sandbox Code Playgroud)
现在,假设我将其包装在名为Foobar.run_update()的类方法中.
调用Foobar.run_update()可以从控制器,甚至从视图中正常工作.但是,我想要做的是从Rakefile运行run_update(),以便我可以将它绑定到cron运行.但是,当从Crontab调用Rake时,Foobar类不可用.
我怎么解决这个问题?当从Cron调用Rake时,如何从Rake访问Foobars的类方法?
非常感谢您的帮助.
Chi*_*tan 11
通过rake,如果你的意思是rake任务,那么添加=> :environment加载任务的rails环境,你就可以在Foobar.run_update那里调用方法.喜欢,
namespace :foobar do
task :update => :environment do
Foobar.run_update
end
end
Run Code Online (Sandbox Code Playgroud)
你应该只能rake foobar:update从控制台打电话,并把它安排为cronjob.
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |