Hi,
User können in meiner App ein Datum und eine Zeit eingeben, wo dann ein reiner Backendprozess mit Änderung der Daten in der DB ablaufen soll.
Was nutze ich dafür? Am liebsten etwas mit leichter Installation und auch einfachem Deployment, wenn es Richtung production geht.
Hätte jetzt Redis+Celery genommen, aber lass mich auch gerne überraschen.
LG
Scheduled Task mit Django
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
Perfekt. Danke. Habe es mit dem Django-ORM als Broker umgesetzt.
Ab wann ist etwas high-traffic bzw. medium message rate?Unless you have configured a dedicated database backend for it, this should probably not be your first choice for a high traffic setup. However for a medium message rate and scheduled tasks, this is the most convenient guaranteed delivery broker.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Wenn die Hintergrundtasks nicht augenblicklich laufen müssen, reicht es ggf. auch, das rein in Django sowie mit einem Cronjob auf dem Host zu realisieren. Das hat ein paar Nachteile, aber auch den (meiner Meinung nach großen) Vorteil, dass man eben keine zusätzliche Technik wie Redis oder zusätzliche Libraries braucht, um die man sich kümmern muss. Die geplanten Aufgaben können als Django-Modell repräsentiert werden. Der Cronjob prüft z. B. stündlich, auf neue Aufgaben in der entsprechenden Tabelle und arbeitet diese ab. Kommt halt auch ein bisschen darauf an, was das für Hintrgrundjobs sind, d.h. wie lange die laufen, wie parallel die sein müssen usw.
Postgres macht massive Probleme wenn man anfängt Zeilen einer Tabelle in hoher Frequenz zu updaten bzw. das äquivalent davon zu tun. Durch MVCC sammeln sich dead tuples an und Postgres kommt man irgendwann mit Vacuum nicht mehr hinterher. Das führt dazu dass es sich für Queues nicht so gut eignet, es sei den man nutzt pgq.
Allerdings hat natürlich Redis oder RabbitMQ auch irgendwo Grenzen.
Allerdings hat natürlich Redis oder RabbitMQ auch irgendwo Grenzen.
Lässt sich schwer pauschal sagen aber zur groben Einordnung damit ist gemeint dass du kontinuierlich eine höhere Anzahl von Messages pro Sekunde hast.Ab wann ist etwas high-traffic bzw. medium message rate?
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
Danke euch.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"