中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SORA中celery原生配置文件的示例分析

發布時間:2021-12-07 14:24:32 來源:億速云 閱讀:191 作者:小新 欄目:云計算

這篇文章主要介紹SORA中celery原生配置文件的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們把celery.py的配置項拿出來,在proj目錄中創建celeryconfig.py,內容如下:

CELERY_TASK_RESULT_EXPIRES=3600
CELERY_TASK_SERIALIZER='json'
CELERY_ACCEPT_CONTENT=['json']
CELERY_RESULT_SERIALIZER='json'

修改celery.py:

from __future__ import absolute_import
from celery import Celery
app = Celery('proj',
             broker='amqp://guest@localhost//',
             backend='amqp://guest@loaclhost//',
             include=['proj.agent'])
#app.conf.update(
#    CELERY_TASK_RESULT_EXPIRES=3600,
#    CELERY_TASK_SERIALIZER='json',
#    CELERY_ACCEPT_CONTENT=['json'], 
#    CELERY_RESULT_SERIALIZER='json'
#)
app.config_from_object('proj.celeryconfig')
if __name__ == '__main__':
  app.start()

使用app.config_from_object()導入配置,注意需要以如下格式才能導入:path:module,celeryconfig文件要和celery文件在同一目錄

啟動一下:

root@workgroup0:~/celeryapp/configtest# celery -A proj worker -l info
/usr/local/lib/python2.7/dist-packages/celery/platforms.py:766: RuntimeWarning: You are running the worker with superuser privileges, which is
absolutely not recommended!

Please specify a different user using the -u option.

User information: uid=0 euid=0 gid=0 egid=0

  uid=uid, euid=euid, gid=gid, egid=egid,
 
 -------------- celery@workgroup0 v3.1.17 (Cipater)
---- **** ----- 
--- * ***  * -- Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         proj:0x7fade8bc1550
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     amqp://guest@loaclhost//
- *** --- * --- .> concurrency: 1 (prefork)
-- ******* ---- 
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery
                

[tasks]
  . proj.agent.add
  . proj.agent.mul

[2015-04-05 16:26:11,577: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2015-04-05 16:26:11,603: INFO/MainProcess] mingle: searching for neighbors
[2015-04-05 16:26:12,622: INFO/MainProcess] mingle: all alone
[2015-04-05 16:26:12,648: WARNING/MainProcess] celery@workgroup0 ready.
^C
worker: Hitting Ctrl+C again will terminate all running tasks!

worker: Warm shutdown (MainProcess)

啟動成功了。

途中的碰壁經歷:因為我一開始是直接把celery.py的配置內容復制過來,沒有去掉配置內容間的逗號,像這樣:

CELERY_TASK_RESULT_EXPIRES=3600,
CELERY_TASK_SERIALIZER='json',
CELERY_ACCEPT_CONTENT=['json'], 
CELERY_RESULT_SERIALIZER='json'

導致無法啟動worker。后來看了看官方文檔的example,才搞定了這一問題。只要去掉那些逗號即可。

反思:雖然celery還可以使用這種形式的配置:

from celery import Celery
app = Celery()
class Config:
    CELERY_ENABLE_UTC = True
    CELERY_TIMEZONE = 'Europe/London'
app.config_from_object(Config)
# or using the fully qualified name of the object:
#   app.config_from_object('module:Config')

還可以使用app.config_from_envvar()來配置,但是我覺得我用的那種方式更加方便。而且把配置內容都放在一個單獨文件中,避免修改源碼。

SORA可能會使用app.conf.update的方式配合configparser對worker進行配置,一方面能避免用戶直接和celery配置打交道,同時還能統一整個項目的配置方式(參考openstack的各種conf文件)

以上是“SORA中celery原生配置文件的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永安市| 武邑县| 桓台县| 克什克腾旗| 额敏县| 淳安县| 山西省| 汝州市| 泗洪县| 若羌县| 诸暨市| 司法| 武平县| 高碑店市| 平原县| 岐山县| 香港| 河东区| 平和县| 台江县| 庆城县| 芮城县| 枣强县| 上犹县| 蛟河市| 藁城市| 临潭县| 凤山县| 封丘县| 孟津县| 渝中区| 班玛县| 阳春市| 乌鲁木齐市| 金平| 宣威市| 龙陵县| 兴山县| 贵南县| 浮梁县| 松潘县|