zoukankan      html  css  js  c++  java
  • python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】

    工程结构沿用https://www.cnblogs.com/apple2016/p/11422388.html,只需修改celeryconfig.py文件即可;

    1、更新celeyconfig.py文件,添加定时任务队列: 

    # -*- coding: utf-8 -*-
    
    '''
    Created on 2019年8月28日
    
    @author: lenovo
    '''
    BROKER_URL='redis://localhost:6379/1'
    
    CELERY_RESULT_BACKEND='redis://localhost:6379/2'
    
    CELERY_TIMEZONE='Asia/Shanghai'#不指定时区的话默认采用UTC
    
    #导入指定的任务模块
    CELERY_IMPORTS=(
        'celerywithconfig.task1',
        'celerywithconfig.task2',
        )
    
    
    from datetime import timedelta
    from celery.schedules import crontab
    #设置定时任务:配置说明官网文档请参考http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries
    CELERYBEAT_SCHEDULE={
        'task1':{
            'task':'celerywithconfig.task1.add',
            'schedule':timedelta(seconds=10),
            'args':(2,8)
            },
        'task2':{
            'task':'celerywithconfig.task2.multiply',
            'schedule':crontab(hour=14,minute=23),
            'args':(4,5)
            }
        }

    2、启动beat和worker:

    启动beat命令:python -m celery -A celerywithconfig beat --loglevel=info

    启动worker命令:python -m celery -A celerywithconfig worker --loglevel=info

    3、beat日志查看定时任务触发情况:从日志中可以看出每隔10s发送一次任务task1,并且在14:23发送了任务task2。

    4、worker日志查看任务执行情况:每隔10s接收消费来自beat发送的定时任务task1,并在14:23接收消费beat发送的定时任务task2.

  • 相关阅读:
    git查看某个文件的提交记录
    git修改文件夹名字
    Visual Studio 2013 在使用 razor无智能提示的解决办法
    git部分提交
    SQL SERVER与C#的数据类型对应表
    使用VBS实现SSH远程登录并自动执行命令
    安装并配置Samba
    Trouble and solution
    两台电脑间共享文件
    Astah类图中使用list<>
  • 原文地址:https://www.cnblogs.com/apple2016/p/11424051.html
Copyright © 2011-2022 走看看