[Python] uWSGI spooler running tasks...
    Marco De Paoli 
    depaolim a gmail.com
       
    Ven  8 Ago 2014 15:03:05 CEST
    
    
  
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 <roberto a 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140808/1b0c145a/attachment.html>
    
    
       
       Maggiori informazioni sulla lista 
	       Python