Seler (oprogramowanie)
Wersja stabilna | 5.2.3 / 29 grudnia 2021 r
|
---|---|
Magazyn | |
Napisane w | Pyton |
Platforma | Międzyplatformowe |
Dostępne w | Pyton |
Typ | Oprogramowanie pośredniczące zorientowane na wiadomości |
Licencja | Licencja BSD |
Strona internetowa |
Seler to asynchroniczna kolejka zadań lub kolejka zadań typu open source , która jest oparta na rozproszonym przekazywaniu komunikatów. Chociaż obsługuje planowanie, koncentruje się na operacjach w czasie rzeczywistym.
Przegląd
Jednostki wykonawcze, zwane zadaniami , są wykonywane współbieżnie na jednym lub większej liczbie węzłów roboczych przy użyciu przetwarzania wieloprocesowego , zdarzeń lub gevent. Zadania mogą być wykonywane asynchronicznie (w tle) lub synchronicznie (poczekaj, aż będą gotowe). Seler jest używany w systemach produkcyjnych, do usług takich jak Instagram , do przetwarzania milionów zadań każdego dnia.
Technologia
Seler jest napisany w Pythonie , ale protokół można zaimplementować w dowolnym języku. Może również działać z innymi językami za pomocą webhooków . Istnieje również Ruby o nazwie RCelery, klient PHP , klient Go , klient Rust i klient Node.js.
Zalecanymi brokerami komunikatów są RabbitMQ lub Redis . W porównaniu z RabbitMQ, Redis stanowi dobry początek. Jeśli jednak istnieje ważny powód, a Redis nie spełnia już wymagań projektu, łatwo jest przejść na RabbitMQ. Dodatkowo MongoDB , Amazon SQS , CouchDB , IronMQ i bazy danych (wykorzystujące SQLAlchemy lub Django ORM) są obsługiwane w stanie eksperymentalnym .
Zobacz też
Linki zewnętrzne
- Biblioteki programowania współbieżnego
- Darmowe oprogramowanie napisane w Pythonie
- Zalążki darmowego oprogramowania
- Darmowe oprogramowanie systemowe
- Komunikacja między procesami
- Oprogramowanie pośredniczące zorientowane na wiadomości
- Oprogramowanie Python (język programowania).
- Oprogramowanie korzystające z licencji BSD