celery常用配置总结
来源:互联网 发布:淘宝网一元秒杀专区 编辑:程序博客网 时间:2024/06/01 12:21
# -*- coding:utf-8 -*- from datetime import timedeltafrom settings import REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_DB_NUM# 某个程序中出现的队列,在broker中不存在,则立刻创建它CELERY_CREATE_MISSING_QUEUES = TrueCELERY_IMPORTS = ("async_task.tasks", "async_task.notify")# 使用redis 作为任务队列BROKER_URL = 'redis://:' + REDIS_PASSWORD + '@' + REDIS_HOST + ':' + str(REDIS_PORT) + '/' + str(REDIS_DB_NUM)#CELERY_RESULT_BACKEND = 'redis://:' + REDIS_PASSWORD + '@' + REDIS_HOST + ':' + str(REDIS_PORT) + '/10'CELERYD_CONCURRENCY = 20 # 并发worker数CELERY_TIMEZONE = 'Asia/Shanghai'CELERYD_FORCE_EXECV = True # 非常重要,有些情况下可以防止死锁CELERYD_PREFETCH_MULTIPLIER = 1CELERYD_MAX_TASKS_PER_CHILD = 100 # 每个worker最多执行万100个任务就会被销毁,可防止内存泄露# CELERYD_TASK_TIME_LIMIT = 60 # 单个任务的运行时间不超过此值,否则会被SIGKILL 信号杀死 # BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 90}# 任务发出后,经过一段时间还未收到acknowledge , 就将任务重新交给其他worker执行CELERY_DISABLE_RATE_LIMITS = True # 定时任务CELERYBEAT_SCHEDULE = { 'msg_notify': { 'task': 'async_task.notify.msg_notify', 'schedule': timedelta(seconds=10), #'args': (redis_db), 'options' : {'queue':'my_period_task'} }, 'report_result': { 'task': 'async_task.tasks.report_result', 'schedule': timedelta(seconds=10), #'args': (redis_db), 'options' : {'queue':'my_period_task'} }, #'report_retry': { # 'task': 'async_task.tasks.report_retry', # 'schedule': timedelta(seconds=60), # 'options' : {'queue':'my_period_task'} #},}################################################# 启动worker的命令# *** 定时器 ***# nohup celery beat -s /var/log/boas/celerybeat-schedule --logfile=/var/log/boas/celerybeat.log -l info &# *** worker ***# nohup celery worker -f /var/log/boas/boas_celery.log -l INFO &################################################
以上是我在工作的一些总结。
同时其它需要交代的是
CELERYD_TASK_TIME_LIMIT
BROKER_TRANSPORT_OPTIONS
使用需要十分谨慎, 如果CELERYD_TASK_TIME_LIMIT设置的过小,会导致task还没有执行完,worker就被杀死;BROKER_TRANSPORT_OPTIONS 设置的过小,task有可能被多次反复执行。
0 0
- celery常用配置总结
- celery常用配置总结 【celery配置worker数和单个worker最多执行任务数】
- celery系列 一 celery 相关配置
- Celery学习总结
- CELERY 消息队列配置
- celery环境配置
- celery配置使用
- celery深入配置
- celery 配置手册
- django+celery+RabbitMQ 环境配置
- celery的配置和使用
- Celery
- celery
- celery
- Celery
- Hadoop常用配置总结
- Hadoop常用配置总结
- Hadoop常用配置总结
- PB通用的编程规范
- java socket通信
- opencv之显示图像
- IO设备的控制器 适配器
- swift介绍中struct和class的区别
- celery常用配置总结
- WPF关闭应用汇总
- Android VLC播放器二次开发1
- Android 监听wifi广播的两种方式
- IOS开发网络篇之──ASIHTTPRequest下载示例(支持断点续传)
- 那些年朋友劝,该知道的ASP.NET - XXX的重载均与委托“System.EventHandler”不匹配,(花了 2小时)
- 关于eclipse不编译项目的问题解决
- API中json的类的介绍
- xcodebuild xcrun ios 自动打包命令 范例