我正在尝试更改 rq 作业的超时,但似乎没有任何效果。我有一些影响:

my_queue = Queue('my_task', connection=Redis())

job_args = (1, 2, 4)

my_queue.enqueue_call(
                    my_func,
                    args=job_args,
                    timeout=2700
            )

但我仍然得到
JobTimeoutException: Job exceeded maximum timeout value (180 seconds)

我非常拼命,甚至尝试进入rq模块queue.py并将超时的默认参数更改为2700和DEFAULT_TIMEOUT(在Queue类中定义的变量,其中包含enqueue_call方法)。我是否遗漏了什么,或者有人知道这有什么问题吗?谢谢!

最佳答案

我们可以通过在队列初始化时设置超时来解决这个问题。

from rq import Worker, Queue, Connection
q = Queue(default_timeout=3600)

希望这能解决您的疑问。

关于python - 入队调用中的 rq 超时参数不起作用,导致 JobTimeoutException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36898265/

10-12 18:53