Я создаю спокойный интерфейс с использованием cherrypy, и мне нужно запустить некоторые задачи из сельдерея, но, похоже, это не работает, и я понятия не имею, почему?
Может, кто-то сталкивался с таким.
Итак, у меня есть celeryconfig.py
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "sqlite:///celerydb.sqlite"
CELERY_IMPORTS = ("tasks", )
CELERY_RESULT_ENGINE_OPTIONS = {"echo": True}
BROKER_TRANSPORT = "sqlalchemy"
BROKER_HOST = "sqlite:///celerydb.sqlite"
И tasks.py
from celery.task import task
@task
def create_agent(agent_id):
print ("do something")
Я запускаю celeryd
celeryd -l INFO
Также у меня есть обработчик запросов (CherryPy)
class Resource(object):
def POST(self):
create_agent.delay(1)
Я могу вызвать задачу create_agent.delay (1) из консоли python, и рабочий из сельдерея получает задачу и работу, но когда create_agent.delay (1) вызывается в cherrypy (при касании соответствующего URL-адреса) работник сельдерея вообще не получает задание.
И еще.Я использую python3.2