2017-05-27 5 views
0

Ich baue eine Webanwendung mit Phoenix und Elixir. Ich möchte zum Beispiel ein Terminierungssystem implementieren. Ich möchte, dass der Benutzer sagen kann: "Ich möchte diesen Job zu diesem Datum und dieser Uhrzeit ausführen, und ich möchte, dass er einmal pro Woche ausgeführt wird".Planen eines Jobs basierend auf Benutzereingabe

Meine Frage ist, wie würde das System wissen, dass es einen Job regelmäßig an dem vom Benutzer angegebenen Datum ausführen muss.

Ich könnte eine Datenbank jede Stunde oder so abfragen und sehen, ob es irgendwelche Jobs gibt, die ausgeführt werden müssen, aber das führt zu Problemen, zum Beispiel würde der Job später laufen, als der Benutzer es wollte.

Vielen Dank, Hilfe sehr geschätzt!

+0

Wie viele potenzielle Benutzer hat Ihre Webanwendung? – Aetherus

+0

@Aetherus sagen wir 1000 für Starter – user2840647

+0

Das sind nicht viele. Sie können versuchen, Arbeiter für jeden Benutzer zu erzeugen, und sie mit einem 'simpe_one_for_one'-Supervisor überwachen. Wenn es skaliert, können Sie vielleicht 'rabbitmq' mit dem Plugin' rabbitmq_delayed_message_exchange 'verwenden. – Aetherus

Antwort

0

Werfen Sie einen Blick auf die quantum package. Es sollte dir genau geben was du willst.

Verwandte Themen