Ich habe eine Nachrichtensubstitution namens next_week, die Date.today + 7.days im Grunde nimmt.
Aber obwohl ich immer noch E-Mails an Wochenenden senden möchte, wenn die next_week auf ein Wochenende fällt, möchte ich, dass es das weiß und zum Montag geht.
Wie mache ich das?
Verwenden Sie im Allgemeinen den business_time
Edelstein ( Ссылка ), der dieses Problem auf eine vollständige Weise löst. Diese Bibliothek ermöglicht es Ihnen, sich für verschiedene Arbeitswochen (z. B. von Sonntag bis Donnerstag) anzupassen und sogar zu überprüfen, ob die Stunde außerhalb der Arbeitszeit liegt.
Ihr Fall wäre
%Vor%Sie können die Aktionsmailer-Warteschlange verwenden. Ihre E-Mails werden einer Warteschlange hinzugefügt, und wenn Sie die Methode ActionMailer-Warteschlange aufrufen, werden die E-Mails gesendet. Also, im Grunde können Sie diese Methode an jedem Wochentag aufrufen. An Wochenenden werden Ihre E-Mails der Warteschlange hinzugefügt, aber nicht gesendet. Am Montag, wenn Sie die Methode aufrufen, werden Ihre E-Mails gesendet. Natürlich können Sie Ihre Aufrufe der Action-Mailer-Methode so planen, dass sie jeden Wochentag automatisch über eine Rake-Task oder Rufus-Scheduler aufgerufen werden.
Tags und Links ruby-on-rails weekday