使用rabbitmq关闭芹菜任务eta

2024-04-19 04:49:26 发布

您现在位置:Python中文网/ 问答频道 /正文

使用教程中的默认设置和ubuntu上运行的rabbitmq,我已经让芹菜任务正常运行了。当我毫不拖延地安排一项任务时,一切都很好,但当我给他们一个预计到达时间时,他们就会被安排在未来的某个地方,就好像我的时钟在某处断了。在

下面是一些请求任务的python代码:

for index, to_address in enumerate(email_addresses):
        # schedule one email every two seconds
        delay = index * 2
        log.info("MessageUsersFormView.process_action() scheduling task,"
            "email to %s, countdown = %i" % (to_address, delay) )
        tasks.send_email.apply_async(args=[to_address, subject, body],
            countdown = delay)

所以第一个应该立刻出去,然后每隔两秒。看着我的芹菜控制台,第一个会立即发生,然后其他两个时间间隔两秒,但从明天开始:

^{pr2}$

我对芹菜和RabbitMQ都是全新的,所以任何关于如何解决这个问题或在哪里寻找原因的提示都会很棒。这是在Ubuntu的VMWare虚拟机上,但我的时钟设置正确。 谢谢!在


Tags: to代码forindexaddressemailubuntu地方
1条回答
网友
1楼 · 发布于 2024-04-19 04:49:26

我认为它确实如你所期望的那样工作。左边的时间(在方括号之间和INFO/main进程之前)以local时间表示,而eta时间以UTC时间表示。例如:

利用控制台输出第二行中显示的预计到达时间:

2012-03-10 01:32:42.971072-08:00

减去8小时(-08:00是时区偏移量),得到:

^{pr2}$

仅在发送时间后2秒:

2012-03-09 17:32:40,989

我希望这有道理。与时间打交道常常让我头疼。在

相关问题 更多 >