[Python] celery, uwsgi & smart-attach-daemon
Alessandro Dentella
sandro a e-den.it
Mar 23 Set 2014 13:19:04 CEST
On Tue, Sep 23, 2014 at 08:30:15AM +0200, Roberto De Ioris wrote:
>
> > Ciao a tutti,
> >
> >
> > sto cercando la configrazione ottimale per fare partire celery con
> > django in produzione.
> >
> > Uso nginx + uwsgi per l'applicazione principale e credevo leggendo [1]
> > [2] che smart-attach-daemon avrebbe potuo risolvere il problema di
> > garantirmi che un reload di uwsgi (uwsgi --reload) inviasse un segnale
> > al processo di celery.
> >
> > Forse ho compreso male la documentazione che in effetti non dice
> > esplicitamente cosa dovrebbe succedere ma solo ::
> >
> >
> > Pidfile governed processes can survive death or reload of the master
> > so long as their pidfiles are available and the pid contained
> > therein matches a running pid. This is the best choice for processes
> > requiring longer persistence, and for which a brutal kill could mean
> > loss of data such as a database.
> >
>
> smart-attach-daemon serve proprio ad evitare che un demone venga ucciso
> durante un riavvio. Effettivamente celery (almeno nella mia mente) e' uno
> di quei servizi che dovrebbe andare per fatti suoi, e quindi
> smart-attach-daemon e' l'approggio giusto.
>
> Mi pare di capire pero' che tu invece vuoi che a ogni reload corrisponda
> anche un restart di celery, in questo caso attach-daemon e' quello che ti
> serve.
In effetti la vedo cosė. Se cambio la definizione dei task che invio,
devo garantirmi che anche celery ne sia al corrente.
Quindi con smart-attach-daemon l'unica cosa che fa č di avviare il
servizio se non č avviato?
>
> Eventualmente con attach-daemon2 hai un controllo maggiore sul comportamento:
>
> https://github.com/unbit/uwsgi-docs/blob/master/AttachingDaemons.rst#--attach-daemon2
Ok, ora lo guardo, chiaramente avendo visto l'esempio proprio su celery
mi ero fermato
sandro
*:-)
Maggiori informazioni sulla lista
Python