- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python使用celery方法
pythoncelery异步任务队列
博客:
作者:戴儒锋
邮箱
celery简介:
celery是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调
度支持也很好。celery是用Python编写的,但该协议可以在任何语言实现。更多简介的请
自己在网上搜索
本文目的是用python使用celery做异步任务,在centos6.4上安装celery,并用supervisor
来管理celery进程,celery采用redis做中间件的消息传输。现实中可以celery做异步请求,
如发送邮箱,发送消息,请求URL等场景
环境部署
环境
系统:centos6.464位
python版本:2.6.6
创建相关的目录
mkdir-p/data/{redis,logs,www}
(我会把python脚本都放在/data/www 中)
安装celery
yuminstallpython-develpython-setuptools
easy_installpip
pipinstallcelery
( 中的 模块)
pipinstallredis # python redis
安装 supervisor
pipinstallsupervisor
echo_supervisord_conf/etc/supervisord.conf
如 果 在 执 行 echo_supervisord_conf /etc/supervisord.conf 时 报
pkg_resources.DistributionNotFound: meld3=0.6.5 错 误 的 话 , 找 到
supervisor-3.1.3-py2.6.egg-info/requires.txt,把文件里面meld3=0.6.5注释掉,然后再执行
echo_supervisord_conf/etc/supervisord.conf就好了
查找方法:
find/ |greprequires.txt
配置
vim/etc/supervisord.conf
在配置后面添加以下参数
[program:celery]
command=/usr/bin/celeryworker-Atasks
directory=/data/www
stdout_logfile=/data/logs/celery.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
注释
;program:celery 要管理的进程名,你自己随便定义,我这定义了叫celery
;command 是启动celery 的命令
;directory 是程序目录 ,因为我要启动celery,需要进入/data/www 目录中才能生效的,
所以这里在启动命令时,会切换到这个目录里
;autorstart 自动重启celery
;stdout_logfile 存放celery 的日志路径
以上命令的大概意思就是:
进行到/data/www 目录,然后执行/usr/bin/celeryworker-Atasks,并把输出的日志保存到
/data/logs/celery.log 中,这是指定了worker模式,如果不指定,默认为prefork模式,一般
你机器有几核,系统就开启几个worker进程,如果有异常,记得查看日志/data/logs/celery.log
安装redis
cd/usr/local/src
wgethttp://download.redis.io/releases/redis-3.0.5.tar.gz
tarxfredis-3.0.5.tar.gz
cdredis-3.0.5
make
makeinstall
(可用makePREFIX=/usr/local/redisinstall 安装到指定的路径下面 )
cputils/redis_init_script/etc/init.d/redis
chmoda+x/etc/init.d/redis
mkdir/etc/redis
cpredis.conf/etc/redis/
简单修改redis.conf (前面数字是行号)
42daemonizeyes #进程转入后台运行
50port22222 #修改端口,不用默
您可能关注的文档
- Unit 22What do you want for supper晚饭你想吃什么?.ppt
- 第11章 MVC深入编程1(3学时) 2.pdf
- Cognos SDK初体验一.pdf
- 现代大学英语Book4Unit5 For want of a drink单词.ppt
- Meta分析系列之五_贝叶斯Meta分析与WinBUGS软件_董圣杰.pdf
- PADS快捷键指令.pdf
- aix3004-303账户被锁定解决方法.pdf
- VMware View 6.2 安装和部署指南.pdf
- FlexViewer开发指南中文版.pdf
- 2013_人教版八年级上册英语Unit5_Do_you_want_to_watch_a_game_show_SectionB_课件.ppt
文档评论(0)