SORA中celery原生配置文件的示例分析
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章主要介绍SORA中celery原生配置文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们把celery.py的配置项拿出来,在proj目录中创建celer
千家信息网最后更新 2025年02月08日SORA中celery原生配置文件的示例分析
这篇文章主要介绍SORA中celery原生配置文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
我们把celery.py的配置项拿出来,在proj目录中创建celeryconfig.py,内容如下:
CELERY_TASK_RESULT_EXPIRES=3600CELERY_TASK_SERIALIZER='json'CELERY_ACCEPT_CONTENT=['json']CELERY_RESULT_SERIALIZER='json'
修改celery.py:
from __future__ import absolute_importfrom celery import Celeryapp = 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 isabsolutely 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.^Cworker: 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 Celeryapp = 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原生配置文件的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
配置
文件
内容
方式
示例
分析
目录
篇文章
逗号
参考
成功
一方
价值
兴趣
同时
官方
小伙
小伙伴
形式
文档
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小强解说明日之后的服务器是什么
网易服务器多少钱一台
怎么做好软件开发类ppt
软件开发公司管理要点
徐州汉诺特软件开发
现在有什么新兴网络技术出来
网络技术挣钱
网络安全线上主题班会心得免费
网络安全与文化的联系
保险公司软件开发需求文档
博信软件数据库无法连接
网络安全b类要求安全
咨询软件开发易聊技术强
网络技术高级工程师哪里学好
数据库设计user
比较热门的网络技术
大学生关于网络安全事例
电脑有效的许可管理服务器
数据库老游标
数据库毕业设计能做什么
江苏软件开发技术项目实训中心
引用上个表的数据库
河北区节能软件开发服务价钱
服务器内存32G和16G混用
网络安全150字感受三年级
亚马逊书店数据库营销
计算机网络安全注意些什么
网络安全法规定的主体
做网络安全需要java吗
1256数据库应用技术