簡體   English   中英

Celery如何執行任務

[英]How Celery executes tasks

在我的項目中,我有一個芹菜任務,該任務每30秒發送一次芹菜節拍給工人。我想知道芹菜如何執行芹菜任務? 它是為每個任務生成一個新線程還是為該任務生成一個新的工作線程。我們如何知道某個任務是否已完成並從我正在使用RabbitMQ的消息代理隊列中刪除。

芹菜工人不斷輪詢芹菜隊列以執行任務。 可以在celery配置文件中配置工作程序數和每個工作程序的進程數(並發)。 Celerybeat調度程序將掃描celerybeat db,並將要執行的任務添加到隊列中。 然后,任何自由工作者從隊列中拾取任務並執行任務並將其標記為已讀

       Celery (*Manages number of workers)
Worker1      Worker2 (Reads task from celery queue and creates process for execution)
W1-P1 W1-P2    W2-P1 W2-P2 (executes the task)

Celerybeat (polls for tasks, adds due tasks to celery-queue)

calery-queue(包含到期的任務)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM