• celery 定时任务demo


    tasks.py

    from celery import Celery
    
    app = Celery('tasks', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')
    app.conf.update(
        # 配置所在时区
        CELERY_TIMEZONE='Asia/Shanghai',
        CELERY_ENABLE_UTC=True,
        # 官网推荐消息序列化方式为json
        CELERY_ACCEPT_CONTENT=['json'],
        CELERY_TASK_SERIALIZER='json',
        CELERY_RESULT_SERIALIZER='json',
        # 配置定时任务
        CELERYBEAT_SCHEDULE={
            'my_task': {
                'task': 'tasks.add', # tasks.py 模块下的方法
                'schedule': 60,      # 每个60s运行一次
                'args': (23,12),
      }
    }
    )    
    @app.task
    def add(x, y):
        return x + y

    启动  worker: celery -A tasks worker -l info    # 参数:

    -A指定的是app(即Celery实例)所在的文件模块,我们的app是放在tasks.py中,所以这里是 tasks;worker表示当前以worker的方式运行,比如运行定时任务就不用指定worker这个关键字; -l info表示该worker节点的日志等级是info
    启动定时任务  celery beat -A tasks -l info  # 在执行这两条命令之前redis服务需要先启动
  • 相关阅读:
    UVALive
    hdu 3869 Color the Simple Cycle (kmp+polya计数)
    zoj 3794 Greedy Driver
    zoj 3795 Grouping
    ASP.NET Core 简介
    ASP.NET Core 基础教程
    iOS ShareSDK Scheme
    微博授权失败 redirect_uri_mismatch
    集成友盟分享SDK报错
    获取设备实际宽度
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9665152.html
Copyright © 2020-2023  润新知