美文网首页
四阶段day5-celery异步、定时任务

四阶段day5-celery异步、定时任务

作者: ATM_shark | 来源:发表于2019-02-23 10:02 被阅读0次

celery
http://docs.jinkan.org/docs/celery/getting-started/introduction.html?tdsourcetag=s_pcqq_aiomsg
redis
任务队列(异步任务)、定时任务
===================
1、本步骤的内容可放在项目的init.py 文件中。celery容易产生循环引用。

import celery
# 注册环境变量(注册Django配置文件)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'teamproject.settings')
# 创建Celery的实例 - broker代表消息代理(从哪里获取消息队列服务)
app = celery.Celery('teamproject',
                   broker='redis://47.107.170.191/2')
# 读取Django项目的配置信息
app.config_from_object('django.conf:settings')

app.autodiscover_tasks(lambda : settings.INSTALLED_APPS)
# celery -A teamproject worker -l info &
# 使用Windows 10做开发且使用celery 4.x版本需要先安装一个三方库作为辅助
# pip install eventlet
# 然后启动celery的消费者的时候需要多加一个参数
# celery -A teamproject worker -l info -P eventlet

2、本步骤的内容可放在项目的init.py 文件中。celery容易产生循环引用。

# 配置定时任务
app.conf.update(
    timezone=settings.TIME_ZONE,
    enable_utc=True,
    # 定时任务要通过消息的生产者将其转换成队列中的消息
    # celery -A teamproject beat -l info
    beat_schedule={
        'task_one': {
            'task': 'common.task.excel',  #任务(视图函数)位置
            'schedule': crontab(),#crontab是对时间设置的函数,默认每分钟发布一个定时任务。
            # 'args': ('刘强东,奶茶妹妹喊你回家喝奶啦', )
        },
        'task_two': {
            'task': 'common.tasks.auto_export_excel',  #任务(视图函数)位置
            'schedule': crontab(),   #crontab是对时间设置的函数,默认每分钟发布一个定时任务。
            # 'args': ('刘强东,奶茶妹妹喊你回家喝奶啦', )
        },
    },
)

3、输入命令

#定时发布任务命令(celery会将定时和异步任务放在 'redis://47.107.170.191/2')
celery -A teamproject beat -l info &


#执行任务命令
celery -A teamproject worker -l info &


#注意:异步任务需要用 @app.task 装饰要执行的异步任务
#例如:
@app.task
def add(x,y):
    return x+y

====================

相关文章

  • 四阶段day5-celery异步、定时任务

    celeryhttp://docs.jinkan.org/docs/celery/getting-started/...

  • 定时任务

    启动页 定时任务注解 异步

  • dispatch_after

    异步 延迟 指定时间 提交任务

  • 任务

    任务 异步任务 代码: 定时任务 接口: 代码: 邮件发送 配置: 代码:

  • SpringBoot二次学习总结

    关键词:定时任务 异步任务 拦截器 1.定时任务 在APP启动类里添加@EnableScheduling开启定时任...

  • Celery异步任务与定时任务

    Django使用异步任务与定时任务 Django配置 创建项目 异步耗时任务 配置文件worker/config....

  • Celery 在Django中的定时任务

    上一篇记录的是异步任务,这一篇做一个定时任务的练习 1:配置 在异步任务中,我们只用到了worker,而在定时任务...

  • spring boot 2 定时任务

    任务执行 说明@EnableScheduling 开启定时任务@EnableAsync 开启异步@Schedule...

  • 任务

    异步任务 邮件发送 time 定时任务 异步任务: 1、定义一个异步方法,用休眠3s中模拟需要处理的任务,3s后控...

  • springboot异步任务,定时任务

    一异步任务 Async 加上一个Async注解 springboot启动项加上EnableAsync即可开启异步...

网友评论

      本文标题:四阶段day5-celery异步、定时任务

      本文链接:https://www.haomeiwen.com/subject/qvmuyqtx.html