zoukankan      html  css  js  c++  java
  • 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服务需要先启动
  • 相关阅读:
    pop动画
    CoreData的用法
    高德地图详细使用方法
    GDataXML配置过程
    图片懒加载(仿SDWebImage)
    GCD创建单例
    多线程-多线程基础
    Zookeeper-集群与单机实践
    oracle-union all与order by联合使用
    分布式和集中式架构
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9665152.html
Copyright © 2011-2022 走看看