Pymongo Sammlung Objekt schlägt fehl, wenn ich versuche, meine Aufgaben mit Sellerie zu führen. Ich denke, es konnte es nicht serialisieren. Was soll ich machen? Übrigens habe ich Pickle probiert, aber es hilft mir nicht.Pymongo Sammlung Objekt Serialisierung __getnegargs__ Methode
PS: Ich möchte nicht globalen DB-Import zu diesem Modul machen.
Objekt 'Sammlung' kann nicht aufgerufen werden. Wenn Sie die Methode 'getneargs' anrufen möchten ...
Beispielcode ist unten. module.py
from celery.contrib.methods import task_method
class Some_Class(object):
"""docstring for Some_Class"""
def __init__(self, db):
super(Some_Class, self).__init__()
self.db = db # This object causes 'Collection' object is not callable
#db is a pymongo collection object from db.py
@app.task(filter=task_method) # Celery task
def add(self):
"""
db.insert({'some_key':'some_value'})
"""
return 3
db.py
from pymongo import MongoClient
db = MongoClient()['test']['collection']
Wenn Sie untersuchen möchten, was zu Fehlern in der Serialisierbarkeit von Objekten führt, können Sie Methoden im Modul 'dill.detect' ausprobieren. https://github.com/uqfoundation –