Django配置Celery执行异步和同步任务(tasks))

Django配置Celery执行异步和同步任务(tasks)),第1张

celery是一个基于python开发的简单、灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度。采用典型的生产者-消费者模型,主要由三部分组成:

比如系统上线前后台批量导入历史数据,发送短信、发送邮件等耗时的任务

1.安装RabbitMQ,这里我们使用RabbitMQ作为broker,安装完成后默认启动了,也不需要其他任何配置

Ubuntu linux安装

CentOS Linux 安装

苹果mac 安装需要配置

配置环境变量 (苹果用户)

启动rabbitmq-server

2.安装celery

3.celery用在django项目中,django项目目录结构(简化)如下

4.创建 oa/celery.py 主文件

5.在 oa/__init__.py 文件中增加如下内容,确保django启动的时候这个app能够被加载到

6.各应用创建tasks.py文件,这里为 users/tasks.py

7.views.py中引用使用这个tasks异步处理

8.启动celery

9.这样在调用post这个方法时,里边的add就可以异步处理了

定时任务的使用场景就很普遍了,比如我需要定时发送报告给老板~

1. oa/celery.py 文件添加如下配置以支持定时任务crontab

3.启动celery beat,celery启动了一个beat进程一直在不断的判断是否有任务需要执行

-1、配置 settings.py

启动worker: celery -A 项目名 worker -l info -P eventlet

启动beat : celery -A 项目名beat -l info

启动celery后台(需要查看才启动): celery flower

启动mq:自行百度

django后台也可以查看定时任务

版本 弧敞岗缎瞢等哥劝工滑2 .子程序 __启动窗口_将被销毁 窗口1._按钮1_被单击 () 这样写就可以了! 这个的意思就是,启动窗口关闭时,,让窗口1执行它按钮1被单击的命令! ~如果你认可我的回答,请及时点击【采纳为满意回答】按钮 ~~手机提问...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11850070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存