[Python] Quali le differenze tra Celery, Zeromq, Python-RQ, Gearman per queue jobs asincroni?

Matteo Scotuzzi matteo a scotuzzi.com
Gio 12 Mar 2015 16:13:15 CET


Siccome lo uso, ti posso parlare un pochino di Celery, poi altri si
potranno unire e correggere o aggiungere. Sarò un po' banale, ma magari può
comunque tornare utile per far partire la discussione, sentiti libero di
farmi domande specifiche riguardo a Celery...

Innanzitutto Celery dovrebbe essere analogo a gearman e python-rq, mentre
zeromq è "semplicemente" una message queue. Celery (e suppongo anche
gearman e python rq) ha una message queue come uno dei componenti della sua
architettura, e volendo puoi scegliere proprio zeromq (o altri software che
siano in grado di svolgere una funzione analoga, redis per esempio).

Celery lo considero un vero e proprio framework per architettare ed
eseguire "workflow" (più banalmente tasks e gruppi di task da eseguire in
parallelo e in determinate sequenze tra di loro, in modo asincrono).
Essenzialmente ti espone un'interfaccia con cui programmare queste task (ad
esempio dall'interno di un progetto django) che poi vengono prese ed
eseguite appena possibile da dei processi worker che possono essere
distribuiti anche su macchine remote.

Per quanto mi riguarda, il vantaggio fondamentale rispetto a gearman è che
nasce in python per python (anche se non si limita ad esso).
Dipendentemente dai casi potrebbe essere uno svantaggio :)

Riguardo a python-rq sembra pensato per essere molto semplice rispetto a
Celery, ma personalmente non trovo celery particolarmente complicato nei
casi semplici (ad esempio, una task asincrona solitaria lanciata dal tuo
programma sincrono).

Spero possa essere utile,
ciao


On Thu, Mar 12, 2015 at 11:53 AM Marco Ippolito <ippolito.marco a gmail.com>
wrote:

> Ciao a tutti,
> in questi ultimi giorni sto approfondendo, per poi usarli in modo
> appropriato da qui a breve, alcuni "tool" di concurrency: gevent,
> eventlet, tornado.
> Traendo spunto da questo blog:
> https://medium.com/@mauriciosl/some-tips-writing-a-tornado-application-
> d21ea14df51e
> , ho iniziato a vedere Celery: http://www.celeryproject.org/
>
> E volevo chiedervi quali sono secondo voi le differenze tra celery,
> zeromq (http://zeromq.org/) , python-rq (http://python-rq.org/) e
> gearman (http://gearman.org/), dal punto di vista dell'uso delle queue
> per processare i jobs in modo asincrono.
>
> Vi ringrazio in anticipo per i vostri chiarimenti.
> Marco
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150312/5810b7ed/attachment.html>


Maggiori informazioni sulla lista Python