Ich schreibe eine Software, die ein paar hundert Personen verwalten soll. kleine Anlagen im "Feld" über einen intermittierenden 3G (oder ähnliche) Verbindung.
Die Zentrale muss Aufträge an die Systeme vor Ort senden (z. B. "Bericht über Ihren Status", "Aktualisierung Ihrer Software" usw.), und die Systeme vor Ort müssen Aufträge an den Server zurücksenden (z. B. "Es wurde ein Fehler festgestellt", "Hier sind einige Daten" usw.).
Ich habe einige Zeit damit verbracht, mir die Sellerie und es でしょう perfekt passen: celeryd
die in der Heimatbasis laufen, könnten Aufträge für die Systeme im Feld sammeln, ein celeryd
die auf den Feldsystemen laufen, könnten Aufträge für den Server sammeln, und diese Aufträge könnten ausgetauscht werden, wenn Clients verfügbar werden.
Ist Celery also eine gute Lösung für dieses Problem? Genauer gesagt:
- Die meisten Aufgaben werden an einen einzelnen Mitarbeiter weitergeleitet (z. B. "Sende den Auftrag 'get_status' an 'system51'") - stellt dies ein Problem dar?
- Kann es mit ungünstigen Netzbedingungen (z. B. Verbindungsabbrüchen) umgehen?
- Welche Funktionen sind nur verfügbar, wenn RabbitMQ als Backend verwendet wird? (Ich würde RabbitMQ lieber nicht auf den Feldsystemen betreiben)
- Gibt es noch einen anderen Grund, warum Sellerie mir das Leben schwer machen könnte, wenn ich ihn so verwende, wie ich es beschrieben habe?
Danke!
(es wäre berechtigt, vorzuschlagen, dass Sellerie ein Overkill ist, aber es gibt andere Gründe, dass es mein Leben einfacher machen würde, also würde ich es gerne in Betracht ziehen)