之前講過芹菜的基本用途。這篇文章主要用來記錄壹些經歷。涉及的概念比較低級,面試的時候經常會問到這壹塊的內容。主要包括芹菜工人模式、芹菜工作流程、芹菜任務調用公共參數和回調函數四個方面。
二、芹菜工模式
為什麽工人有多種工作模式?因為異步任務類型不同,有些是計算密集型的,有些是IO密集型的。
壹般來說,工人有三種工作模式。第壹個是prefork,多進程模式。每啟動壹個worker,就會多啟動壹個進程,用於計算密集型任務類型。第二個是evenlet,第三個是gevent。在這兩種模式中,worker是由壹個進程啟動的,因此它適用於IO密集型異步任務。
第三,芹菜工作流程
有時候異步任務需要按照壹定的順序串行執行,所以要考慮芹菜的執行順序。我來說壹下我所知道的三種工作流方法,分別是小組工作組、鏈式工作鏈和chord復合任務。
顧名思義,組工作組就是壹組可以並行執行的任務,鏈式工作鏈可以按照壹定的順序實現任務的串行執行。chord復合任務是因為它有回調函數,在壹組任務並行執行後再串行執行回調函數,所以可以串並行結合,同時可以得到每個並行任務的執行結果。
四。apply_async的通用參數
動詞 (verb的縮寫)回調函數
當異步任務完成後,可以使用回調函數來記錄任務執行結果。