gpt4 book ai didi

python - 如果我们用 .delay() 调用任务, celery 任务何时执行

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:42 26 4
gpt4 key购买 nike

我的 friend 们一直在谈论用 celery 做耗时的任务。因为我没有计算机科学,所以我不能准确地知道 celery 任务的执行时间。在 celery 文档中,在调用 .delay() 时谈论守护进程,但我找不到什么是守护进程,如果我们通过 .delay() 调用它,最后什么时候执行 celery 任务? :)

例如,如果我在执行 my_task 时有以下代码?函数.py:

def test():
my_task.delay()
while second<10:
second += 1 # assume this part take a second

1-恰好 test() 函数完成时(test() 调用后约 10 秒)

2-在while循环的中间

3- 在完成 test() 之后,当请求不是太多并且服务器有时间和资源来完成任务时!! (也许 celery 很聪明,知道执行任务的最佳时间)

4- 随时:)

5- 我没有指出的正确方法。 :)

如果它取决于配置,我必须告诉我使用了 celery 文档中的默认配置。谢谢。

最佳答案

想象一下,您没有单独执行此任务,而是执行多项任务。如果您使用 my_task.delay() 调用它,您会将所有这些任务放在一个队列中.现在有几个 worker 只选择第一个打开的任务并执行它们。

所以正确的答案是“只要负责的 worker 有空”。这可能就在您进入 while second<10: 之前-循环,但如果工作人员当前正忙,也可能需要几秒钟或几分钟。

关于python - 如果我们用 .delay() 调用任务, celery 任务何时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57050553/

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