Tengo una aplicación de Pylons donde me gustaría mover parte de la lógica a un proceso por lotes por separado. Lo he estado ejecutando bajo la aplicación principal para probar, pero va a hacer mucho trabajo en la base de datos, y me gustaría que fuera un proceso separado que se ejecutará en segundo plano constantemente. La aplicación principal de pilones enviará trabajos a la base de datos, y el nuevo proceso hará el trabajo solicitado en cada trabajo.Ejecute el controlador Pylons como una aplicación separada?
¿Cómo puedo iniciar un controlador como un script independiente?
Actualmente tengo:
from warehouse2.controllers import importServer
importServer.runServer(60)
y en el archivo del controlador, pero no forma parte de la clase del controlador:
def runServer(sleep_secs):
try:
imp = ImportserverController()
while(True):
imp.runImport()
sleepFor(sleep_secs)
except Exception, e:
log.info("Unexpected error: %s" % sys.exc_info()[0])
log.info(e)
Pero a partir ImportServer.py en los resultados de línea de comandos en:
2008-09-25 12:31:12.687000 Could not locate a bind configured on mapper Mapper|I
mportJob|n_imports, SQL expression or this Session
¿Alguna razón sobre por qué esto debe ser un controlador de pilones en lugar de un script normal? – nosklo
¿Podría actualizar la respuesta seleccionada? La otra respuesta es la solución correcta. –