gpt4 book ai didi

python-rq worker 不读取队列中的作业

转载 作者:行者123 更新时间:2023-11-28 22:45:17 26 4
gpt4 key购买 nike

我在设置 python-rq 时遇到了一个基本问题 - rqworker 似乎无法识别推送到它正在监听的队列的作业。

一切都在 virtualenv
中运行我有以下代码:

from redis import Redis
from rq import Queue
from rq.registry import FinishedJobRegistry
from videogen import videogen
import time

redis_conn = Redis(port=5001)
videoq = Queue('medium', connection=redis_conn)
fin_registry = FinishedJobRegistry(connection=redis_conn, name='medium')

jobid = 1024
job = videoq.enqueue(videogen, jobid)

while not job.is_finished:
time.sleep(2)
print job.result

这里的 videogen 是一个简单的函数,它立即返回它接收到的整数参数。

在运行 rqworker medium 并启动应用程序时,没有打印任何结果。除此之外,rqworker 没有额外的痕迹:

14:41:29 RQ worker started, version 0.5.0
14:41:29
14:41:29 *** Listening on medium...

redis 实例可以从我运行 rqworker 的同一个 shell 访问,甚至显示更新的 key :

127.0.0.1:5001> keys *
1) "rq:queues"
2) "rq:queue:medium"
3) "rq:job:9a46f9c5-03e1-4b08-946b-61ad2c3815b1"

那么这里可能缺少什么?

最佳答案

愚蠢的错误 - 必须向 rqworker 提供 redis 连接 url
rqworker --url redis://localhost:5001 medium

关于python-rq worker 不读取队列中的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738696/

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