Re: [Python] uWSGI spooler running tasks...

2014-08-08 Per discussione Marco De Paoli
ciao a tutti,
visto che avevo un esigenza simile, condivido alcuni snippet, magari a
qualcuno fa comodo...


Il giorno 12 luglio 2014 12:07, Roberto De Ioris robe...@unbit.it ha
scritto:


 Il bello dello spooler e' che e' tutto filesystem based, quindi per sapere
 che succede si usano le primitive posix:

 - scan della spooldir per sapere l'elenco dei task


for s in uwsgi.spoolers:
for fn in os.listdir(s):
filepath = os.path.join(s, fn)

(ok, questa era facile)



 - fcntl su ogni file per sapere se e' lockato (il che significa che e' un
 task in corso) https://docs.python.org/2/library/fcntl.html


import fcntl

def is_locked(filepath):
with open(filepath, a+) as f:
try:
fcntl.lockf(f.fileno(), fcntl.LOCK_EX|fcntl.LOCK_NB)
is_locked = False
except IOError, e:
is_locked = True
return is_locked

(qui ammetto che ci ho messo un po' di tempo a capire come fare...)

- parsing del dizionario uwsgi di ogni file per conoscere i parametri


uwsgi.parsefile(filepath)

(questo esercizio era già risolto in un'altra parte del libro ;-) )

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] uWSGI spooler running tasks...

2014-08-08 Per discussione Gollum1
Il nome Marco sta acquisendo un significato particolare in questa lista...

Byez
-- 
Gollum1

teoro, dov'è il mio teoro...
http:\\www.gollumone.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python