我有一个数据库和一个监控它的服务。我想把有关上述数据库的电话排到 rq.Queue
:
回调.py
from pymongo import MongoClient
db_client = MongoClient(username='root', password='pass').db.collection
def do_something(db):
while not list(db.find({})):
print('empty db')
print('found something')
然而,每次尝试我都会做这样的事情
from redis import Redis; from rq import Queue; from allocator import db_client, do_something
Queue(connection=Redis()).enqueue(do , (db_client, )
导致
TypeError: cannot pickle '_thread.lock' object
我怎样才能绕过它并允许排队函数与db交互?
我尝试过的事情:
使用另一个序列化程序(dill- TypeError: cannot pickle 'sqlite3.Connection' object
)
Package do_something
在拥有db的类中-相同的错误
暂无答案!
目前还没有任何答案,快来回答吧!