]> git.llucax.com Git - z.facultad/75.52/sercom.git/blobdiff - start-sercom.py
Bugfix: InstanciaDeEntrega.observaciones no puede ser None.
[z.facultad/75.52/sercom.git] / start-sercom.py
index 0ec9722ea7354561081132c546136bb0299d5b4e..fd1c7e2f7fc779b89a1de7453881b3697e697913 100644 (file)
@@ -25,7 +25,7 @@ elif exists(join(dirname(__file__), "setup.py")):
 else:
     update_config(configfile="prod.cfg",modulename="sercom.config")
 
-from sercom.model import InstanciaDeEntrega, hub
+from sercom.model import InstanciaDeEntrega, Entrega, AND, hub
 from sercom.finalizer import Finalizer
 from threading import Thread
 from datetime import datetime
@@ -42,8 +42,17 @@ class Queue(object): #{{{
             try:
                 hub.begin()
                 try:
-                    select = InstanciaDeEntrega.selectBy(inicio_proceso=None)
+                    select = InstanciaDeEntrega.select(AND(
+                        InstanciaDeEntrega.q.inicio_proceso == None,
+                        InstanciaDeEntrega.q.fin <= datetime.now()))
                     instancia = select.orderBy(InstanciaDeEntrega.q.fin)[0]
+                    n = Entrega.selectBy(instancia=instancia, fin=None).count()
+                    if n:
+                        log.debug(_(u'Esperando para procesar instancia (%s), '
+                            'faltan probar %s entregas'), instancia.shortrepr(),
+                            n)
+                        time.sleep(30)
+                        continue
                     instancia.inicio_proceso = datetime.now()
                 finally:
                     hub.commit()
@@ -60,8 +69,8 @@ class Queue(object): #{{{
 #}}}
 
 #q = Queue()
-#finalizer = Finalizer(name='juanca', queue=q)
-#t = Thread(name='juanca', target=finalizer.run)
+#finalizer = Finalizer(name='finalizer', queue=q)
+#t = Thread(name='finalizer', target=finalizer.run)
 #t.start()
 
 from sercom.controllers import Root