博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django异步工具Celery安装
阅读量:5913 次
发布时间:2019-06-19

本文共 2137 字,大约阅读时间需要 7 分钟。

一、环境要求

操作系统版本:centos操作系统内核:4.7.1系统工具:yum数据分区(200G容量以上):/data

二、安装Celery相关服务

pip install celerypip install celery-with-redispip install django-celery

三、编辑:settings.py文件添以下内容

#####配置celery####import djcelerydjcelery.setup_loader()BROKER_URL = 'redis://xx.xx.xx.xx:6379/10'CELERY_RESULT_BACKEND = 'redis://xx.xx.xx.xx:6379/11'CELERY_ACCEPT_CONTENT = ['application/json']CELERY_TASK_SERIALIZER = 'json'CELERY_RESULT_SERIALIZER = 'json'CELERY_TIMEZONE = 'Africa/Nairobi'SECRET_KEY = '8lu*6g0lg)9z!ba+a$ehk)xt)x%rxxgb$i1&022shmi1jcgihb*'

四、编辑:jumpserver/init.py文件添以下内容

from __future__ import absolute_importfrom .celery import app as celery_app

五、编辑:jumpserver/celery.py文件添以下内容

from __future__ import absolute_import  import osimport djangofrom celery import Celery  from django.conf import settings  # set the default Django settings module for the 'celery' program.  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'jumpserver.settings')django.setup()app = Celery('jumpserver')# Using a string here means the worker will not have to  # pickle the object when using Windows.  app.config_from_object('django.conf:settings')  app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)  @app.task(bind=True)  def debug_task(self):      print('Request: {0!r}'.format(self.request))

六、编辑:jumpserver/tasks.py文件添以下内容

from jumpserver import celery_app@celery_app.task()def longtime_addd(x, y):    print 'long time task begins'    # sleep 5 seconds    time.sleep(5)    print 'long time task finished'    return x + y

七、启动celery

celery -A jumpserver worker -l info

八、测试

python manage.py shellfrom deploy.tasks import *result = longtime_addd.delay(1,2)print 'Task finished? ', result.ready()print 'Task result: ', result.result

九、结合supervisor配置后台运行celery

安装:pip install supervisor生成配置文件:echo_supervisord_conf > /etc/supervisord.conf编辑配置文件:/etc/supervisord.conf添加以下内容[program:celery]command=celery -A jumpserver worker --loglevel=infodirectory=/data/xxxxxstdout_logfile=/data/xxxxx/logs/celery.logautorestart=trueredirect_stderr=true启动:supervisord -c /etc/supervisord.conf查看日志:tail -f /data/polaris/logs/celery.log

转载于:https://blog.51cto.com/aaronsa/2056883

你可能感兴趣的文章
微信端H5开发整体解决方案
查看>>
Python之retrying
查看>>
OWASP 10 大 Web 安全问题在 JEE 体系完全失控
查看>>
洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏
查看>>
如何理解Unity组件化开发模式
查看>>
util.promisify 的那些事儿
查看>>
未来黑科技公司完成亿元Pre-B轮融资,已和宝马达成合作
查看>>
三篇文章了解 TiDB 技术内幕 - 谈调度
查看>>
mysql备份方式
查看>>
shell脚本入门
查看>>
Tomcat运行Java Web内存溢出解决办法
查看>>
linux系统学习第十一天-<<工程师技术>>
查看>>
docker 疑难杂症
查看>>
Centos0S7手动安装OpenStack Pike版--(keystone)
查看>>
Data Binding的使用详解
查看>>
用户配置文件和密码配置文件、用户组管理、用户管理
查看>>
EIGRP小结
查看>>
什么是WMI
查看>>
Linux NFS服务器的安装与配置
查看>>
14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2/15.3 使用vsftpd搭建ftp
查看>>