Ich arbeite an einem Projekt, die in der Zukunft wird regelmäßig eine Art von asynchronen Task für jeden Benutzer ausgeführt werden. Jeder Benutzer kann Aufgaben konfigurieren (täglich, wöchentlich usw. zu einem bestimmten Zeitpunkt). Die Task verwendet auch einige Daten, die vom Benutzer gespeichert werden. Jetzt frage ich mich, welcher Ansatz besser sein sollte: Erlaube den Benutzern, eine eigene PeriodicTask zu erstellen (unter Verwendung eines eingeschränkten Endpunkts) oder erstelle eine einzelne PeriodicTask (zum Beispiel alle 5 Minuten), die über alle Benutzer iteriert und bestimmt, ob die Aufgabe sein soll Angemeldet oder nicht für den aktuellen Benutzer? Ich denke, ich werde AMPQ als Broker verwenden.Sellerie PeriodicTask pro Benutzer
2
A
Antwort
1
periodische Aufgaben Scheduler in Sellerie ist nicht entworfen, um Tausende von geplanten Aufgaben zu behandeln, so aus Leistungsperspektive, viel bessere Lösung ist eine Aufgabe, die im kleinsten Intervall ausgeführt wird (z. B. wenn Sie zulassen, Benutzer täglich, wöchentlich zu planen , monatlich - täglich laufende Aufgabe ist genug)
solcher Ansatz auch stabiler ist - jedes Mal, Fahrplanänderungen, die alle die termin~~POS=TRUNC
neu geladen werden und ist sicherer, da Sie aussetzen oder verwenden Sie keine interne Mechanismen zur Aufgabenausführung
Verwandte Themen
- 1. löschen Task/PeriodicTask in Sellerie
- 2. Tags pro Beitrag pro Benutzer, der Benutzer ist nicht aufgeführt.
- 3. lesen Dokumente pro Benutzer pro Tag
- 4. Postgresql - Verbindungslimit pro Benutzer
- 5. pro Benutzer resolv.conf
- 6. Anpassen von DataGridView pro Benutzer
- 7. Python Sellerie Max-Aufgaben-pro-Kind-Einstellung Standard
- 8. dynamische Warteschlangen mit Sellerie
- 9. Count Anzahl der Benutzer pro Login zählen pro Woche
- 10. SQL Summe der Spaltenwert, einzigartig pro Benutzer pro Tag
- 11. Pandas: berechnen durchschnittliche Anzahl der Zeilen pro Benutzer pro Tag
- 12. Maximale Laufzeit von Google Skript pro Benutzer oder pro Konto
- 13. Index pro Benutzer oder Index für alle Benutzer (verschiedene Schemas)?
- 14. Verwenden von Memcached pro Benutzer Abfragen
- 15. Erstellt Tomcat einen Thread pro Benutzer?
- 16. Wie begeht pro Benutzer wir Subversion zählen
- 17. Konfigurieren des Ausgabe-Cache pro Benutzer mvc
- 18. MySQL-Abfrage - finden „neuer“ Benutzer pro Tag
- 19. Erteilen Sie Berechtigungen "pro Benutzer" in DynamoDB?
- 20. VCS kann Dateien pro Benutzer versionieren
- 21. Suche ein Dokument pro Benutzer auf Cloudant
- 22. Geben Sie pro Benutzer in Elasticsearch ein?
- 23. Laravel Wildcard Sub-Domain pro Benutzer
- 24. Ein Popout nur einmal pro Benutzer anzeigen
- 25. Botframe Handling-Anhänge pro Benutzer und Konversation
- 26. ASP.Net Entity Framework eine Datenbank pro Benutzer
- 27. Datenbankverbindung pro Benutzer für den Winterschlaf
- 28. Was ist der Unterschied zwischen Sellerie, Sellerie, Sellerie?
- 29. Daemonizing Sellerie
- 30. Sellerie und Signale
Mindestlaufzeit ist täglich? oder es geht unter das? Wenn täglich Minimum ist, können Sie eine einzelne Zeit festlegen, um die Aufgabe für alle Benutzer auszuführen? Wie wird die Aufgabe um 12:00 Uhr ausgeführt, unabhängig davon, wann der Benutzer sie erstellt hat (wenn die Aufgabe gemäß der eingestellten Benutzerzeit gültig ist)? –
Ich habe Main Post um klarer zu werden - Benutzer wird auch in der Lage sein, Zeit zu setzen, zum Beispiel ein Benutzer möchte Task um 19:30 PM auslösen und ein anderes um 11:00 Uhr –
Ich denke, es hängt davon ab, wie viel Verzögerung ist tolerierbar in der Taskausführung. Wenn 5 Minuten tolerierbar sind, können Sie mit Einzelaufgaben gehen. Wenn die Verzögerung in Ihrem Fall nicht geeignet ist, sollten Sie für jeden Benutzeransatz eine separate Aufgabe verwenden. –