如何在Rails ActiveJob中创建日常工作(类似cron)?

ril*_*lut 13 ruby cron ruby-on-rails whenever

我知道这个帖子:rails的cron工作:最佳实践?,但没有提到ActiveJob.我使用ActiveJob做的动机是因为它内置在Rails中,这里是它的文档的摘录:

"这些工作可以是定期清理,计费和邮寄等所有工作."

如何在Rails ActiveJob中创建日常工作(类似cron)?由于我没有看到在其文档中运行定期计划作业的示例.

或者我应该坚持使用whenever宝石?

joe*_*son 10

与坚持whenever宝石或宝石类似例如chrono,clockwork,rufus-scheduler.

您在ActiveJob文档中阅读的内容有点令人困惑,因为看起来好像ActiveJob可以处理定期调度的责任.文档应该说恕我直言,工作是由其他一些系统或工具定期安排的.

那么,ActiveJob是关于排队的工作?

是的,它是关于Rails提供标准接口,用于将作业添加到队列,并调用perform方法.ActiveJob提供了方法接口,可以为许多作业处理队列,后端,直接运行程序等启用适配器.


小智 9

它对我有用:

every 1.day, at: '9:36 am' do
  runner 'SomeJob.perform_later'
end
Run Code Online (Sandbox Code Playgroud)

我正在使用wheneverActiveJob