celery常用配置总结
2014-07-02 15:39
405 查看
# -*- coding:utf-8 -*- from datetime import timedelta from settings import REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_DB_NUM # 某个程序中出现的队列,在broker中不存在,则立刻创建它 CELERY_CREATE_MISSING_QUEUES = True CELERY_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 = 1 CELERYD_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有可能被多次反复执行。
相关文章推荐
- celery常用配置总结 【celery配置worker数和单个worker最多执行任务数】
- Cisco交换机常用配置命令总结 推荐
- Cisco交换机常用配置命令总结
- php.ini学习总结 :常用配置和本地和服务器需要调整的配置。
- 【Java】日志知识总结和常用组合配置(commons-logging,log4j,slf4j,logback)
- mybatis 配置文件mysql常用语句写法总结
- Cisco AP 常用配置总结 推荐
- wifi配置常用命令总结
- LINUX总结第11篇: LINUX下的常用命令及配置
- arm的常用配置总结
- AIX常用配置文件总结
- wifi配置常用命令总结
- wifi配置常用命令总结
- 1 查找并总结:错误类型对应的http代码。2 总结一下常用web.config公共配置。
- SBT 常用插件配置总结
- Cisco交换机常用配置命令总结
- 2 总结一下常用web.config公共配置。
- 【APP】Linux网络基础总结(常用配置文件&常用命令)
- Hadoop常用配置总结
- android camera常用配置总结