如何使用gem在凌晨2点和下午2点运行任务?

Lui*_*lli 5 ruby cron whenever

目前我运行此代码:

every 1.day, at: '2am' do
  rake 'data:load_direct_monitoring_statistics'
end if @environment == 'production'
every 1.day, at: '2pm' do
  rake 'data:load_direct_monitoring_statistics'
end if @environment == 'production'
Run Code Online (Sandbox Code Playgroud)

此代码按预期工作,但是:有没有办法只使用一个 cron声明来涵盖这两种情况?

小智 3

根据每当存储库中的测试,您应该能够通过数组

every "weekday", :at => %w(5:02am 3:52pm) do
Run Code Online (Sandbox Code Playgroud)

这是来源> https://github.com/javan/whenever/blob/334cfa01f373006cc032e23907b1777a8ea3f3b0/test/function/output_at_test.rb

所以在你的情况下应该可以这样做

every 1.day, at: ['2am','2pm'] do
  rake 'data:load_direct_monitoring_statistics'
end if @environment == 'production'
Run Code Online (Sandbox Code Playgroud)