Ich benutze immer wenn Juwel und ich eine Rake-Aufgabe geschrieben haben, um E-Mails zu senden. In meinem schedule.rb wenn ich diesen CodeImmer, wenn Juwel nicht für alle 1.Tag Aufgaben funktioniert, aber für andere Argumente in Rails arbeitet
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
ich keine E-Mails bekommen, aber wenn ich so etwas wie dieses
verwendenevery 5.minutes do
rake "send_daily_reports"
end
ich Mails für 5 Minuten alle.
versuchte ich
every :day
mit
every 1.day
ersetzen, aber es ist immer noch nicht funktioniert. Ich habe jeden Schritt verfolgt. Wenn ich den Code in die Cloud ziehe, benutze ich den Befehl
whenever -w
, um die Crontab zu aktualisieren und dann den Server neu zu starten. Ich dachte, dass es ein Problem mit der Linux-Systemzeit geben könnte. Aber als ich das Datum Befehl im Terminal benutzte, bekam ich das korrekte Datum und die Zeit. Ich überprüfte auch das cron_error Protokoll aber es gibt keine protokollierten Fehler. Kann mir bitte jemand hier helfen?
Was sagt 'crontab -l'? –
Wie sieht send_daily_reports aus? Ist es möglich, dass es ein Zeitzonenproblem gibt, das verhindert, dass send_daily_reports um 23:20 Uhr Daten zum Melden hat? – msergeant
@msergeant Ich erhielt die Post um 4.20 Uhr, als die eingestellte Zeit "11.20 Uhr" war. Also ich denke, es gab einen Fehler mit der Zeitzone Einstellung in Linux. Ich habe die Zeitzone geändert und jetzt funktioniert sie. Früher war die Standardzeitzone in Utc und ich dachte, das System würde sich automatisch entsprechend der Zeitzone einstellen. Sobald ich die Zeitzone geändert habe, funktioniert es jetzt. –