【发布时间】:2012-09-22 21:48:12
【问题描述】:
我正在创建一个 eta 介于 3 到 20 小时之间的任务,当我查看工作人员日志时,对于这个任务,工作人员在收到原始任务后每小时都会说“Got task from broker: ...”,直到 eta 达到到达。
我知道这与设置 BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': X} 有关,其中 X 是以秒为单位的数字。
所以我使用了 visibility_timeout,如果我将其设置为小于 1 小时,那么我可以看到工作人员每 X 秒执行一次相同的任务,但是当我将 visibility_timeout 设置为 X 大于 1 小时时,它无论我设置的时间如何,都默认为 1 小时。
还有其他人遇到这个问题吗?这是一个已知的错误吗?
我正在使用 Celery 3.0.11(Chiastic Slide) 使用 Redis 服务器版本 2.4.15
【问题讨论】:
-
我刚刚也遇到了这个错误,在 Redis 服务器 v.2.4.6 上运行 Celery v.3.0.19,但即使在与 Redis 服务器在同一台机器上运行的工作人员也会发生这种情况。
-
也观察到了。 celery==3.0.21 django-celery==3.0.21 Python 2.7.3,Redis 服务器版本 2.2.12。 .在同一台机器上运行。
-
在 celery 3.1.17、Redis 服务器 2.8.4 中也遇到了这个错误,即使 Redis 和 worker 在同一台机器上运行也是如此。
-
也经历过这个celery==4.3.0,redis==3.2.1,Redis server v=6.0.9,一个小时后我安排了12个任务而不是1个。我在本地单机上运行它
标签: redis celery celery-task