zoukankan      html  css  js  c++  java
  • Celery定时任务

    在项目根目录下创建一个mycelery的文件夹 

    目录结构如下:

    config.py配置文件:

    # 任务队列的链接地址(变量名必须叫这个)
    broker_url = 'redis://127.0.0.1:6379/14'
    # 结果队列的链接地址(变量名必须叫这个)
    result_backend = 'redis://127.0.0.1:6379/15'

    auto_send_call/tasks.py文件:

    from mycelery.main import app
    
    @app.task(name="test")  # name指定任务名称
    def test():
        print(888)

    main.py文件:

    from celery import Celery
    from celery.schedules import crontab
    
    # 首先实例化一个celery对象
    app = Celery('vips5')
    # 然后配置此对象
    app.config_from_object('mycelery.config')
    # # 通过celery对象.autodiscover_tasks 让woker自动去任务队列中发现任务
    app.autodiscover_tasks(['mycelery.auto_send_call'])  # auto_send_call为存放tasks.py文件的目录
    
    # tesk:test test为任务名称 app.conf.beat_schedule
    = { 'auto_send': { 'task': 'test', 'schedule': crontab(minute='*/1'), 'args': () } }

     windows启动worker

    celery -A mycelery.main worker -l info -P eventlet

    启动beat定时任务

    celery -A mycelery.main beat -l info

    这样就成功把定时任务运行起来了 : )

    可以看到cmd中的提示信息

    woker运行信息

  • 相关阅读:
    S3:代理模式 Proxy
    S2:外观模式 Facade
    S1:适配器 Adapter
    C5:单例模式 Singleton
    C4:原型模式 Prototype
    C3:建造者模式 Builder
    C2:抽象工厂 Abstract Factory
    C1:工厂模式 Factory
    设计模式分类
    数据访问对象模式
  • 原文地址:https://www.cnblogs.com/Gaohx/p/15188136.html
Copyright © 2011-2022 走看看