我在我的任务中使用装饰器来管理我的任务。我使用MongoDB作为芹菜后端。
@app.task(bind=True)
@my_customize_decorator
def some_task(self):
#Do something
return
我的装饰者和任务,他们都有MongoDB连接。当我向工人发送some_task.delay()
时,它会给我ConfigurationError: Unknown option auto_start_request
。
我认为芹菜会向pymongo发送auto_start_request选项,而pymongo无法解决这个问题。但我不知道如何覆盖该配置。
答案 0 :(得分:0)
它来自芹菜后端选项。不是来自任务或装饰者。 Celery mongodb后端默认选项是here
self.options.setdefault('max_pool_size', self.max_pool_size)`
self.options.setdefault('auto_start_request', False)`
这些行导致ConfigurationError。我删除这些行后
path/to/dist-pack/celery/backends/mongodb.py
问题已经解决。