每当宝石不能为每个1.day任务工作,但在rails中工作其他参数

时间:2016-04-13 18:17:30

标签: ruby-on-rails ruby whenever

我正在使用gem和我编写了一个rake任务来发送电子邮件。 在我的schedule.rb中,当我使用此代码时

set :environment, "development"
set :output, {:error => "log/cron_error_log.log",
:standard =>"log/cron_log.log"}

every :day, :at => '11:20pm' do 
  rake "send_daily_reports"
end

我没有收到邮件,但是当我使用这样的东西时

every 5.minutes do
  rake "send_daily_reports"
end

我每分钟收到5封邮件。

我试过替换

every :day

every 1.day

但仍然不起作用。 我已经完成了每一步。当我将代码拉入云时,我使用命令

whenever -w

更新crontab然后重新启动服务器。我认为linux系统时间可能存在问题。但是当我使用的时候     日期 终端中的命令我得到了正确的日期和时间。我还检查了cron_error日志,但没有记录错误。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

当时间设置为4.20 am时,我在11.20 pm收到了邮件。所以我想timezone设置utc默认设置为amazon linux

我更改了timezone,现在已经开始工作,我将此链接称为http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

以前默认时区位于utc,我认为系统会根据timezone自动设置自己。一旦我改变了时区,它现在正在工作。