1
如果我將一個回調連接到芹菜task_success信號處理程序,它會在哪個進程中執行?孩子還是工人的過程?芹菜信號task_success執行哪個進程?
該文檔沒有明確列出它。 (它列出了它的信號task_sent,但不能用於其他信號:http://docs.celeryproject.org/en/latest/userguide/signals.html#task-sent)
感謝...
如果我將一個回調連接到芹菜task_success信號處理程序,它會在哪個進程中執行?孩子還是工人的過程?芹菜信號task_success執行哪個進程?
該文檔沒有明確列出它。 (它列出了它的信號task_sent,但不能用於其他信號:http://docs.celeryproject.org/en/latest/userguide/signals.html#task-sent)
感謝...
有「子」過程中沒有這樣的事;有發送任務的進程(可以是任何Python進程,包括芹菜工作者,芹菜拍或其他任何東西),還有處理任務的工作人員。
在處理任務的工作人員中執行除task_sent
以外的所有任務信號;實際上他們不可能在其他地方執行。 Celery信號(如Django信號)不像操作系統事件,或者像Celery任務一樣,它可以始於一個進程並在另一個進程中觸發某些事件;他們得到的處理過程與他們所處的過程相同。它們與Python標準庫signal
模塊無關。
信息是重要的和基本的,因爲這在芹菜文檔中很遺漏(截至3.1)在幾個地方。 –