我有一个 Pylons 应用程序,我想将一些逻辑移动到一个单独的批处理过程中。我一直在主应用程序下运行它进行测试,但它将在数据库中做很多工作,我希望它是一个单独的进程,将在后台不断运行。主 pylons 应用程序会将作业提交到数据库中,新进程将完成每个作业中请求的工作。
如何将控制器作为独立脚本启动?
我目前有:
from warehouse2.controllers import importServer
importServer.runServer(60)
在控制器文件中,但不是控制器类的一部分:
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)
但是在命令行上启动 ImportServer.py 会导致:
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