[Python] celery, uwsgi & smart-attach-daemon
Alessandro Dentella
sandro a e-den.it
Gio 25 Set 2014 11:26:38 CEST
> >> Eventualmente con attach-daemon2 hai un controllo maggiore sul
> >> comportamento:
> >>
> >> https://github.com/unbit/uwsgi-docs/blob/master/AttachingDaemons.rst#--attach-daemon2
> >
> > Sarebbe esattamente quello che cerco, ma non riesco assolutamente a
> > vedere alcun segnale.
> >
> > La mia conf è:
> >
> > celery_pid = /var/run/uwsgi/cogema-celery.pid
> > attach-daemon2 = cmd=/usr/local/sbin/test-signals.py
> > %(celery_pid),pidfile=%(celery_pid),stopsignal=3,reloadsignal=15
> >
> > La script test-signals.py è riportata in fondo.
> > Quando io faccio partire uwsgi nei log leggo:
> >
> > [uwsgi-daemons] found valid/active pidfile for
> > "/usr/local/sbin/test-signals.py /var/run/uwsgi/cogema-celery.pid" (pid:
> > 31952)
> >
> > Ma poi nessun segnale arriva al processo test-signals.py. Se da
> > console per prova eseguo kill -3 31952, vedo subito il log del segnale
> > arrivato.
> >
> >
>
>
> --attach-daemon2 (e piu' in generale tutte le opzioni che finiscono con
> '2') sono le versioni user-unfriendly :P che ti permettono di modificare i
> pattern prestabiliti agendo direttamente sulle strutture interne.
>
> Nel caso specifico, settando un pidfile stai forzando la modalita' smart,
> che non e' quella che vuoi tu.
>
> cmd=/usr/local/sbin/test-signals.py,stopsignal=3,reloadsignal=15
>
> e' sufficiente a fare quello che vuoi.
Ci sono quasi. Reload ora arriva, ma restart passa ancora lo stesso
segnale di reload::
root a thunder-dev:/home/www/office.cogema.it# grep attach /etc/uwsgi/cogema.ini
attach-daemon2 = cmd=/usr/local/sbin/test-signals.py %(celery_pid),stopsignal=3,reloadsignal=15
root a thunder-dev:/home/www/office.cogema.it# cat /tmp/sig.log
root a thunder-dev:/home/www/office.cogema.it# /usr/bin/loca
localc locale localedef locate locate.findutils
root a thunder-dev:/home/www/office.cogema.it# /usr/local/bin/uwsgi --reload /var/run/uwsgi/cogema.pid
root a thunder-dev:/home/www/office.cogema.it# cat /tmp/sig.log
3
root a thunder-dev:/home/www/office.cogema.it# /usr/local/bin/uwsgi --stop /var/run/uwsgi/cogema.pid
root a thunder-dev:/home/www/office.cogema.it# cat /tmp/sig.log
3
3
sandro
*:-)
Maggiori informazioni sulla lista
Python