模組和包.深入Celery之節點管理/任務排程/任務追蹤
任務管理:
說明: 如上為執行任務後的標準輸出,transport為訊息代理,concurrency為預設程序池程序數,當所有子程序處於忙碌狀態時必須等待空閒子程序處理,如果是IO密集型可嘗試使用Eventlet/Gevent協程,具體可參考http://docs.jinkan.org/docs/celery/userguide/concurrency/index.html#concurrency,result為結果儲存,queue為所有的佇列以及交換機資訊列表
引數 | 含義 |
%p | 節點全名,如[email protected] |
%n | 只包含主機名,如foo |
%h | 包含域名的主機名,如bar.example.com |
%d | 只包含域名,如example.com |
%i | Prefork型別的程序索引,主程序為0,根據-n指定的名稱生成對應的從1開始累加的名稱,常用於用於為每個子程序建立唯一的日誌檔案 |
%I | Prefork型別的程序索引,主程序空,根據-n指定的名稱生成對應的從1開始累加的名稱,常用於用於為每個子程序建立唯一的日誌檔案 |
# 啟動節點
celery multi start notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
# 關閉節點
celery multi stop notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
celery multi stopwait notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
celery multi kill notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
# 重啟節點
celery multi restart notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
# 檢視節點
celery multi names notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
celery multi show notify -A work.app -c 4 -l info --pidfile=notify.pid --logfile=notify.log
說明: Celery提供了一個multi子名稱,可以很方便的管理Celery應用的啟動(notify表示應用的唯一標識,-A表示應用的入口檔案,-c表示預設工作程序下將啟動的子程序數,--pidfile表示程序檔案,--logfile表示日誌檔案)/關閉(stop表示非同步停止應用,stopwait表示同步等待停止應用,kill表示終止應用,但需要注意的是必須指定--pidfile和--logfile)/重啟(restart表示重啟應用,但需要注意的是預設multi並不記憶之前啟動引數,所以需要和啟動引數一樣)
擴充套件: 如果想要跟蹤不同子程序的日誌可直接在--pidfile和--logfile中使用上面的格式化引數,如celery multi start notify -A work.app -c 4 -l info --pidfile=notify%I.pid --logfile=notify%I.log,則會在當前執行目錄下生成不同程序的程序ID以及日誌檔案,但是當你關閉和重啟的時候就不那麼方便了~
任務排程:
celery beat --help
任務跟蹤:
celery result --help
celery -A work.app inspect --help
線上控制:
celery amqp --help
celery -A work.app control --help
線上節點:
celery -A work.app status
原文轉自:樂搏學院http://www.learnbo.com/相關推薦
模組和包.深入Celery之節點管理/任務排程/任務追蹤
任務管理: 說明: 如上為執行任務後的標準輸出,transport為訊息代理,concurrency為預設程序池程序數,當所有子程序處於忙碌狀態時必須等待空閒子程序處理,如果是IO密集型可嘗試使用Eventlet/Gevent協程,具體可參考http://docs.jin
Python-模組和包.深入Celery之子任務及原語組式/鏈式/回撥
子級任務: 說明: 前面學習的任務呼叫基本上已夠用,但有時業務場景可能需要任務關聯,且子任務可能需要父任務為其傳遞一些必要引數,此時可通過func.subtask或簡寫func.s實現,子任務物件依然可以呼叫任務物件的API,delay和apply_async,但和常規呼叫
python之路---25 模組和包
一.模組 1.匯入方式 自己建立的模組名稱 切不可和 內建模組的一樣 ① import 模組 ② import 模組 as 名 設定在此空間的名稱
Python_從零開始學習_(44) 模組 和 包
目錄 1. 模組 1.1 模組的概念 1.2 模組的兩種匯入方式 1.3 模組的搜尋順序(擴充套件) 1.4 原則 ---- 每一個檔案都應該是可以被匯入的 2. 包 (package)
深入Celery之使用佇列以及優先順序提高響應
多個佇列: Celery預設使用的佇列名為celery預設繫結在direct交換機celery,可通過CELERY_DEFAULT_QUEUE/CELERY_DEFAULT_EXCHANGE/CELERY_DEFAULT_ROUTING_KEY等引數配置修改. 1 2
day30-模組和包
一、模組介紹 1、什麼是模組 在python中,一個函式封裝一個功能,當一個檔案中包含很多個函式,而我們在其他程式中經常會用到這個檔案中的功能時,那麼我們就可以將這個包含多個函式的檔案封裝成一個模組,供其他程式來引用。簡單來說,一個模組就一系列常用功能函式的集合體,一個.py檔案就是一個模組。 模組分三
day33 Pyhton logging 模組和包
一內容回顧 try/except try/except/else try/finally try/except try/except/finally try/except/else/finally 報錯的時候 1檢查程式邏輯是不是有問題 2.邏輯沒有問題,但是
6、模組和包的匯入
一、模組匯入的方式: 方式一:import 模組名 使用時:模組名.函式名() 方式二 :from 模組名 import 函式名 使用時:函式名() 方式三: from 模組名 import *
Node中模組和包
一、模組和包 概念:模組(Module)和包(Package)是Node.js最重要的支柱。開發一個具有一定規模的程式不可能只用一個檔案,通常需要把各個功能拆分、分裝、然後組合起來。模組正式為了實現這種方式而誕生,在瀏覽器JavaScript中,指令碼模組的拆分和組合通
Python基礎---模組和包
模組 概念: 模組和java中的包概念類似 匯入: 關鍵字 import import 模組名... 部分匯入: 關鍵字 from from 模組名 import 函
python常用模組(模組和包的解釋,time模組,sys模組,random模組,os模組,json和pickle序列化模組)
1.1模組 什麼是模組: 在計算機程式的開發過程中,隨著程式程式碼越寫越多,在一個檔案裡程式碼就會越來越長,越來越不容易維護。 為了編寫可維護的程式碼,我們把很多函式分組,分別放到不同的檔案裡,這樣,每個檔案包含的程式碼就相對較少,在python中。一個.py檔案就稱為一個模組(Module
模組和包 1
# import os # os.makedirs('glance/api') # os.makedirs('glance/cmd') # os.makedirs('glance/db') # l = [] # l.append(open('glance/__init__.py','w')) # l.a
python的模組和包機制:import和from..import..
一. 兩個概念: 1.module A module is a file containing Python definitions and statements. 所以module就是一個.py檔案 2.package Packages are a way of str
python-模組和包
模組:1. 一個py檔案,就是一個模組,檔案中包括定義的函式和類等資訊。2. 儘管可以import多次,實際上模組只匯入一次3. 模組搜尋路徑 記憶體中已經載入的模組->內建模組->sys.path路徑(導模組的環境變數)中包含的模組 4. 匯入模組 將
python模組和包
1. 模組 1.1 模組的概念 模組是 Python 程式架構的一個核心概念 每一個以副檔名 py 結尾的 Python 原始碼檔案都是一個 模組 模組名 同樣也是一個 識別符號,需要符合識別符號的命名規則 在模組中定義的 全域性變數 、函式、類 都是提供給
python中的模組和包
1.模組模組(module)是搭建程式的一種方式。每一個Python程式碼檔案都是一個模組。2.模組的匯入(1)import格式:import 模組名使用格式: 模組名.類名 或者 全域性變數名 或者 函式名(2)from…import格式:from 模組名 import 類
Python的模組和包的理解
iamlaosong文 學習Python語言,對模組和包的理解總結如下: 1、模組(Module)就是包含程式碼的檔案,不一定是Python程式碼,有四種程式碼型別的模組: •使用Python寫的程式
Python進階筆記(3)_ 模組和包
匯入模組 要使用一個模組,我們必須首先匯入該模組。Python使用import 語句匯入一個模組。例如,匯入系統自帶的模組 math:import math 你可以認為 math 就是一個指向已匯入模組的變數,通過該變數,我們可以訪問 math 模組中所定義的所有公開的函式
Python怎麼用pip安裝模組和包
import numpy as np解決“ModuleNotFoundError: No module named'tensorflow/numpy'”問題1. 找到python pip安裝路徑,一般在x:\Python\Script路徑下2. 開啟cmd命令視窗,將pip主
Lua筆記8-模組和包
從Lua5.1版本開始,就對模組和包添加了新的支援,可是使用require和module來定義和使用模組和包。require用於使用模組,module用於建立模組。簡單的說,一個模組就是一個程式庫,可以通過require來載入。然後便得到了一個全域性變數,表示一個table