[英]when celery task will be execute if we call task with .delay()
我的朋友一直在谈论用芹菜做一些耗时的工作。因为我没有计算机科学,所以我无法准确了解芹菜任务的执行时间。 在celery文件中,在调用.delay()时讨论守护进程,但是我找不到什么是守护进程,最后如果我们通过.delay()调用芹菜任务将会执行它? :)
例如,当我执行my_task时,我有以下代码? function.py:
def test():
my_task.delay()
while second<10:
second += 1 # assume this part take a second
1 - 完全在test()
函数完成时(在test()
调用后约10秒)
2 - 在while loop
中间
3-完成test()
和请求不是太多,服务器有时间和资源来完成任务! (也许芹菜很聪明,知道执行任务的最佳时间)
4-每当想要:)
我没有指出的正确方法。 :)
如果它取决于配置我必须告诉我使用芹菜文档的默认配置。谢谢你。
想象一下,你没有单独完成这项任务,而是几项任务。 如果使用my_task.delay()
调用它, my_task.delay()
所有这些任务放在队列中。 现在有几个工人只选择第一个打开的任务并执行它们。
所以正确的答案是“只要负责任的工人有空”。 这可能会在您进入while second<10:
-loop之前立即进行,但如果工作人员当前正忙,也可能需要几秒钟或几分钟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.