如何将MongoClient对象传递给Celery任务

时间:2015-05-17 03:24:05

标签: celery pymongo celery-task

我有一个包含C对象的类MongoClient。它调用celery任务,该任务期望C的实例作为参数。

class C:
    def __init__(self):
        self.mongoClient = MongoClient()

    def call_task(self):
        task.delay(self)

@app.task
def task(this):
    ...

这导致

  

EncodeError(TypeError(你"'数据库'对象不可调用。如果你打算在&上调用' getnewargs '方法#39; MongoClient'对象失败,因为不存在这样的方法。",),)

任何方式我都可以将包含MongoClient的对象传递给芹菜任务,或者允许我从任务中隐藏MongoClient的模式?

0 个答案:

没有答案