python2升级python3:celery任务不执行

最近公司做python升级,celery任务始终不执行,也不输出日志。

想了很多方式,最后锁定celery的配置项,果然按以下方式修改后就开始执行任务了。

在celery4.0以后配置参数改成了小写,对于4.0以后的版本替代参数:

4.0版本以下参数          4.0版本以上配置参数
CELERY_ACCEPT_CONTENT   accept_content
CELERY_ENABLE_UTC   enable_utc
CELERY_IMPORTS  imports
CELERY_INCLUDE  include
CELERY_TIMEZONE timezone
CELERYBEAT_MAX_LOOP_INTERVAL    beat_max_loop_interval
CELERYBEAT_SCHEDULE beat_schedule
CELERYBEAT_SCHEDULER    beat_scheduler
CELERYBEAT_SCHEDULE_FILENAME    beat_schedule_filename
CELERYBEAT_SYNC_EVERY   beat_sync_every
BROKER_URL  broker_url
BROKER_TRANSPORT    broker_transport
BROKER_TRANSPORT_OPTIONS    broker_transport_options
BROKER_CONNECTION_TIMEOUT   broker_connection_timeout
BROKER_CONNECTION_RETRY broker_connection_retry
BROKER_CONNECTION_MAX_RETRIES   broker_connection_max_retries
BROKER_FAILOVER_STRATEGY    broker_failover_strategy
BROKER_HEARTBEAT    broker_heartbeat
BROKER_
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 Celery 实现定时任务的示例: 1. 首先安装 celery: ``` pip install celery ``` 2. 在项目的根目录下新建一个名为 tasks.py 的文件,编写定时任务的代码: ``` from celery import Celery app = Celery('tasks', broker='redis://localhost:6379/0') @app.task def task1(): # 在这里编写 task1 的逻辑 pass @app.task def task2(): # 在这里编写 task2 的逻辑 pass ``` 其中,broker 参数指定 celery 使用 redis 存储任务队列和结果的地址,需要根据实际情况修改。这里演示了两个定时任务,分别是 task1 和 task2。 3. 在项目的根目录下新建一个名为 celery.py 的文件,配置 celery: ``` from celery import Celery from celery.schedules import crontab app = Celery('tasks', broker='redis://localhost:6379/0') app.conf.beat_schedule = { 'task1': { 'task': 'tasks.task1', 'schedule': crontab(minute='*/5'), # 每5分钟执行一次 }, 'task2': { 'task': 'tasks.task2', 'schedule': crontab(hour=1, minute=0), # 每天凌晨1点执行 }, } ``` 其中,beat_schedule 参数是定时任务的配置,具体格式可以参考 Celery 文档。这里演示了两个定时任务,分别是每5分钟执行一次的 task1 和每天凌晨1点执行的 task2。 4. 启动 celery: ``` celery -A celery worker -l info -B ``` 其中,-A 参数指定 celery 的应用名,-l 参数指定日志级别,-B 参数表示启动 celery 定时任务。 至此,就完成了 Celery 的定时任务配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值