gpt4 book ai didi

python - celery 链式子任务如何使用 eta 或倒计时参数执行?

转载 作者:行者123 更新时间:2023-12-05 07:54:05 34 4
gpt4 key购买 nike

当前代码:

def chained_task(foo, bar, start_time):
return chain(task1.s(foo, bar), task2.s(eta=start_time)).apply_async()

但似乎 task2 没有在 start_time 执行。是否有任何选项可以使用回调参数和 eta 执行任务 2?

最佳答案

对两个日期和时区(如果需要)有 timedelta 的链式任务使用倒计时,总秒数如下:

from datetime import datetime, timezone, timedelta

YOUR_TIMEZONE = timezone(offset=timedelta(hours=0), name='UTC')

start_first_task = datetime(2022, 5, 28, 18, 59, tzinfo=YOUR_TIMEZONE)
start_second_task = datetime(2022, 5, 28, 19, 59, tzinfo=YOUR_TIMEZONE)
countdown = (start_second_task - start_first_task).total_seconds()

first_task_s = first_task.signature(*args, **kwargs)
# The countdown applies with respect to the end of the 1st task in chain
second_task_s = second_task.signature(*args, **kwargs, countdown=countdown)

chain = (first_task_s | second_task_s).apply_async(eta=start_first_task)

关于python - celery 链式子任务如何使用 eta 或倒计时参数执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778203/

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