Wie kann ich festlegen, dass Code alle paar Stunden im Elixir- oder Phoenix-Framework ausgeführt wird?
Also sagen wir mal ich möchte, das senden einer Reihe von E-Mails oder erstellen der sitemap oder was auch immer alle 4 Stunden, wie soll ich das tun in Phoenix oder nur mit Elixir?
InformationsquelleAutor der Frage JustMichael | 2015-08-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine einfache alternative, die nicht benötigt keine externen Abhängigkeiten:
Nun in Ihrer Aufsicht Baum:
InformationsquelleAutor der Antwort José Valim
Können Sie erlcron. Verwenden Sie es wie
Einen
job
ist ein 2-Tupel-element. Das erste element ist ein Tupel, das ist der Zeitplan für den Auftrag und das zweite element ist die Funktion oder eine MFA(Modul, Funktion, Stelligkeit). Im obigen Beispiel führen wir:io.fwrite("It's 2 Thursday morning")
jeden 2 Donnerstag.Hoffe, das hilft!
InformationsquelleAutor der Antwort Gjaldon
Quanten ermöglicht Ihnen das erstellen, finden und löschen von jobs zur Laufzeit.
Darüber hinaus können Sie Argumente an die task-Funktion beim erstellen eines cronjob, und sogar ändern Sie die Zeitzone, wenn Sie nicht zufrieden sind mit UTC:
https://github.com/c-rack/quantum-elixir
Wenn Ihre app ausgeführt wird, als mehrere isolierte Instanzen (z.B. Heroku), es gibt job-Prozessoren unterstützt durch Redis, dass auch die Unterstützung task-scheduling:
Exq: https://github.com/akira/exq
Toniq: https://github.com/joakimk/toniq
Verk: https://github.com/edgurgel/verk
InformationsquelleAutor der Antwort Svilen
Ich verwendet, Quantum Bibliothek Quantum - Elixier.
Folgen Sie unterhalb der Anweisungen.
Alle gesetzt. Starten Sie den server mit dem nachstehenden Befehl.
InformationsquelleAutor der Antwort Shashidhar Mayannavar
Neben der Verwendung
Process.send_after
können Sie auch :- timer.apply_interval.InformationsquelleAutor der Antwort YongHao Hu