如何解决如何将包含pymongo db的函数传递到rq队列绕过无能力对_thread.lock进行序列化?
我有一个数据库和一个监视它的服务。我想将有关上述数据库的呼叫排队到rq.Queue
:
callback.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
我尝试过的事情:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。