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