У меня есть приложение Pylons, где я хотел бы переместить часть логики в отдельный пакетный процесс. Я запускаю его под основным приложением для тестирования, но он будет делать большую работу в базе данных, и я бы хотел, чтобы это был отдельный процесс, который будет постоянно работать в фоновом режиме. Основное приложение pylons будет отправлять задания в базу данных, а новый процесс будет выполнять работу, запрошенную в каждом задании.
Как я могу запустить контроллер как самостоятельный script?
В настоящее время у меня есть:
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