我正在使用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日志,但没有记录错误。有人可以帮帮我吗?
答案 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
自动设置自己。一旦我改变了时区,它现在正在工作。