2011-01-07 9 views
0

Ich habe eine Tabelle in meiner Datenbank mit einer Liste von E-Mails gesendet werden, jeweils zu einem bestimmten Zeitpunkt (Präzision bis auf die Minute).senden Sie E-Mails verzögert Schienen auf Heroku

Ich bin auf Heroku, und ich möchte jetzt nichts ausgeben .. Gibt es eine Möglichkeit, dies zu tun? Die einzige Art, wie ich dachte, war, irgendwo anders einen Deamon/Cron zu erstellen und jede Minute eine private URL anrufen zu lassen ... irgendeine andere Idee? Irgendeine Möglichkeit, etwas Hintergrundprozess zu haben oder etwas, das damit umgehen kann (auf Heroku und ohne extra für Addons zu bezahlen ..)?

danke!

+0

Vielleicht ist Heroku eine schlechte Option für Sie. Ich würde empfehlen, eine kostengünstige virtuelle Maschine ($ 5/Monat) zu bekommen. – cam

+0

Wie viele E-Mails versenden Sie? – JonLim

+0

Nicht viele Mails, aber ich muss genau sein, wenn sie gesendet werden. So wird es wahrscheinlich nicht mehr als ein paar zu einem einzigen Zeitpunkt geben, und sehr oft auch keinen. Ich weiß, Heroku ist nicht ideal dafür ohne einen Arbeiter, aber ich wollte es versuchen, ich habe bereits einen Account auf railsplayground. – luca

Antwort

3

Herokus kostenloses Cron-Addon läuft nur einmal am Tag, daher ist es nicht geeignet. Ihr bezahltes Cron-Addon läuft nur einmal pro Stunde, also ist es auch nicht geeignet. Das Ausführen eines Daemon/Cron an einem anderen Ort ist ein Hack, der sehr schnell problematisch wird. Es ist grundsätzlich schlechte Architektur.

Verwenden delayed_job mit einem einzigen Heroku Worker macht Sinn. Außerdem können Sie mit delayed_job genau angeben, wann jeder Job ausgeführt werden soll, bis hin zu einer Granularität von 5 Sekunden. Ja, es ist $ 36/Monat, um dies zu tun. Aber es befreit dich davon, die Dinge falsch zu machen. Wenn Sie erwarten, dass Sie den Worker die meiste Zeit nicht benötigen, können Sie die automatische Skalierung delayed_job auf Heroku betrachten, sodass der Worker nur aktiviert wird, wenn Sie ihn benötigen.

0

Es gibt eine ganze Reihe kostenloser Online-Dienste, die mehr als glücklich sind, Ihre Webseite nach einem von Ihnen festgelegten Zeitplan anzufordern. Sie müssen nichts ausgeben oder programmieren. Nur Google :)

+0

Gegoogelt ohne Erfolg .. ein Hinweis bitte? danke – luca

+0

Oh, Entschuldigung. Verpasste Ihre Anfrage komplett :) Aber besser spät als nie ... Die, die ich in der Vergangenheit verwendet habe, sind http://scheduler.codeeffects.com und http://webbasedcron.com. Der erste hat eine tolle Benutzeroberfläche. Andere, die ich kenne, sind http://setcronjob.com und http://cronjobs.org –

Verwandte Themen