django下使用celery进行异步任务
2015-10-14 11:33
1141 查看
虚拟环境:django,gevent,celery
项目根目录下celery_porject
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project',
broker=';'.join([
'amqp://rabbit:rabbit@rabbit_01:5672//mq',
'amqp://rabbit:rabbit@rabbit_02:5672//mq']),
backend='amqp://',
include=['app1.tasks1', 'app2.tasks2'])
app.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
CELERY_IGNORE_RESULT=True,
CELERYD_MAX_TASKS_PER_CHILD=300,
CELERY_TASK_SERIALIZER='json'
)
if __name__ == '__main__':
app.start()
run command:/usr/local/envs/project/bin/celery --workdir=/usr/local/project -A celery_project worker -l info -P gevent -c 1000 -Ofair
异步任务前添加:
import psycogreen.gevent
psycogreen.gevent.patch_psycopg()
项目根目录下celery_porject
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project',
broker=';'.join([
'amqp://rabbit:rabbit@rabbit_01:5672//mq',
'amqp://rabbit:rabbit@rabbit_02:5672//mq']),
backend='amqp://',
include=['app1.tasks1', 'app2.tasks2'])
app.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
CELERY_IGNORE_RESULT=True,
CELERYD_MAX_TASKS_PER_CHILD=300,
CELERY_TASK_SERIALIZER='json'
)
if __name__ == '__main__':
app.start()
run command:/usr/local/envs/project/bin/celery --workdir=/usr/local/project -A celery_project worker -l info -P gevent -c 1000 -Ofair
异步任务前添加:
import psycogreen.gevent
psycogreen.gevent.patch_psycopg()
相关文章推荐
- 虽然Google的这个项目死了,但是它依然能给我们如此多借鉴
- Go语言资源收集
- Django-Rest-Framework 教程: 快速入门
- gunicorn部署django实例
- HVM,Hexagon处理器的虚拟器解决方案
- Google Guava Collections 使用介绍
- 图解django 中间件
- django 大体框架
- django 去掉某个方法的防跨站伪造请求CSRF
- [Django模板系统]Django的模板渲染(render)机制
- HDU - 3966 Aragorn's Story(树剖模版题)
- POJ 1042 Gone Fishing
- Django Singal
- 【进阶——最小费用最大流】hdu 1533 Going Home (费用流)Pacific Northwest 2004
- Kafka logo分布式发布订阅消息系统 Kafka
- 5.36(Geometry:area of a regular polygon)
- Django i18n国际化
- 进程、线程、轻量级进程、协程与 go 的 goroutine【转载+整理】
- django tmeplate 循环基数
- django tmeplate 循环基数