• 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.

  • 相关阅读:
    poj 3617 Best Cow Line
    POJ 1852 Ants
    Pairs
    codility MinAbsSum
    Codeforces Beta Round #67 (Div. 2)C. Modified GCD
    timus 1018. Binary Apple Tree
    C
    HDU 1299Diophantus of Alexandria
    BZOJ2155(?) R集合 (卡特兰数)
    CSP模拟赛 number (二分+数位DP)
  • 原文地址:https://www.cnblogs.com/apple2016/p/11424051.html
Copyright © 2020-2023  润新知