gpt4 book ai didi

python - 类型错误 : cannot pickle '_thread.lock' object with RQ

转载 作者:行者123 更新时间:2023-12-03 13:40:07 25 4
gpt4 key购买 nike

我正在使用带有 flask 的 RQ 来循环排队作业。我有以下代码:

from rq import Queue
from rq.job import Job
from worker import conn

q = Queue(connection=conn)

for i in range(5):
job = q.enqueue_call(
func=process_data, args=(i, data,))
print(job.get_id())

现在我收到错误:
TypeError: cannot pickle '_thread.lock' object

我有以下代码的 worker :
import os

import redis
from rq import Worker, Queue, Connection

listen = ['default']

redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')

conn = redis.from_url(redis_url)

if __name__ == '__main__':
with Connection(conn):
worker = Worker(list(map(Queue, listen)))
worker.work()

如何纠正?

最佳答案

我通过从 Python 3.8 降级到 Python 3.7 解决了类似的问题

我的情况有点不同。我正在运行一个 Django 服务器,它使用 Django-Q 安排任务。但是Django-Q是基于RQ的,报错

TypeError: cannot pickle '_thread.lock' object



由 Python 的 Multiprocessing 模块抛出,所以我相信解决方案会翻译。

截至 2020 年 5 月,我预计这是一个错误,尽管尚不清楚是什么原因造成的。

关于python - 类型错误 : cannot pickle '_thread.lock' object with RQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60735003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com