我或多或少使用设置来使用您的 Flask 应用程序上下文来运行 Celery 任务:http://flask.pocoo.org/docs/0.10/patterns/celery/ http://flask.pocoo.org/docs/0.10/patterns/celery/
我收到与以下相同的错误消息在 Flask 应用程序中创建、管理和终止后台任务 https://stackoverflow.com/questions/23309052/create-manage-and-kill-background-tasks-in-flask-app
但是,我在执行 Celery 任务的实际工作人员中得到了它。这是跟踪:
worker_1 | Traceback (most recent call last):
worker_1 | File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task
worker_1 | R = retval = fun(*args, **kwargs)
worker_1 | File "/code/app/__init__.py", line 42, in __call__
worker_1 | return TaskBase.__call__(self, *args, **kwargs)
worker_1 | File "/usr/local/lib/python2.7/dist-packages/flask/ctx.py", line 186, in __exit__
worker_1 | self.pop(exc_value)
worker_1 | File "/usr/local/lib/python2.7/dist-packages/flask/ctx.py", line 178, in pop
worker_1 | % (rv, self)
worker_1 | AssertionError: Popped wrong app context. (<flask.ctx.AppContext object at 0x47a5790> instead of <flask.ctx.AppContext object at 0x427e390>)
有人有主意吗?在应用程序上下文中运行应该解决这个问题,而不是创建它!
Thanks