我有一系列执行任务的芹菜工人,使用 REDIS 存储;特别是我有三类工人,它们分别执行三类任务。属于这些类别中的每一个的任务都需要访问 mongo DB。出于效率的原因,我想使用单个连接到数据库以供所有工作人员使用。到目前为止,我已经尝试通过以下方式将连接作为参数传递给“send_task”:
myclient = MongoClient('localhost:27017')
celeryWorker.send_task('tasks.beampolyline', myclient)
但很明显,它返回对象不是 JSON 可序列化的错误;两者都试图在所有工作人员之间共享 myclient 对象,但结果不佳。任何想法 ?我觉得我非常接近解决方案,但我被困在我试图使用的两种方法上。