当前位置: 首页 > news >正文

商城网站建设哪个公司好小吃加盟网站大全

商城网站建设哪个公司好,小吃加盟网站大全,wordpress列表主题,建网站商城文章目录 celery的介绍celery的架构celery的快速使用celery 包结构celery 定时 异步 延迟任务django使用celery celery的介绍 celery是什么#xff1f; -翻译过来是芹菜 -官网#xff1a;https://docs.celeryq.dev/en/stable/ -吉祥物#xff1a;芹菜 -分布式的异步任务框架… 文章目录 celery的介绍celery的架构celery的快速使用celery 包结构celery 定时 异步 延迟任务django使用celery celery的介绍 celery是什么 -翻译过来是芹菜 -官网https://docs.celeryq.dev/en/stable/ -吉祥物芹菜 -分布式的异步任务框架 - 分布式一个任务拆成多个任务在不同机器上做 - 异步任务后台执行不阻塞主任务 - 框架集成到项目中 celery主要的几个功能 1 异步任务 异步发邮件短信通知 \ 2 延迟任务 延迟 几秒 再执行某个任务 订单提交后延迟半小时把订单取消 \ 3 定时任务 -每隔多长事件 执行某个任务 - 定时更新缓存 celery的架构 django和celery是一个服务 celery的三个模块 1 broker消息中间件消息队列任务中间件 -存储任务函数发送短信任务统计在线人数。。。 -redisreabbitmq 存储 -字符串形式能把任务表示出来即可 函数名函数参数函数位置 2 worker任务执行单元 -从消息队列[broker–》redis]—》取出任务执行—程序(进程) 3 backend结果存储 Result Stores -任务执行完成后的结果存储在这里 -redis存储关系型数据库。。 执行流程 1 其他程序—》提交任务(函数)—》任务序列化后存到celery的broker中 2 接下来worker执行—》从broker中取任务–》执行 3 任务执行完后把结果存到 bancked中 celery和其他程序是 独立运行的 1可以不依赖任何服务器通过自身命令启动服务(内部支持socket)2celery服务为为其他项目服务提供异步解决任务需求的注会有两个服务同时运行一个是项目服务django一个是celery服务项目服务将需要异步处理的任务交给celery服务celery就会在需要时异步完成项目的需求人django是一个独立运行的服务 | 医院(celery)也是一个独立运行的服务正常情况下人可以完成所有健康情况的动作不需要医院的参与但当人生病时就会被医院接收解决人生病问题人生病的处理方案交给医院来解决所有人不生病时医院独立运行人生病时医院就来解决人生病的需求celery的快速使用 pip celery install # 可以把这个文件封装成一个包 以后直接调用即可 from celery import Celery import time# 提交任务的地址 注意 必须是单引号 不然会报错 broker redis://127.0.0.1:6379/1# 完成任务之后的结果存储地址 backend redis://127.0.0.1:6379/2# add是任务名字 broker提交任务地址 任务完成地址 # 写任务---》写函数---》必须用 app.task 装饰---》装饰后就变成了celery的任务了 app Celery(app,brokerbroker,backendbackend) # 自己设置任务 app.task def add():time.sleep(2)return helloap.task def add1(a,b):time.sleep(2)return ab# 在调用的文件 from demo import add,add1# 同步执行 只需要加上括号即可 直接等待之后得到结果 # res add() # print(res)# 异步执行 提交上去得到一个任务id号 res add.delay() print(res)# 如果有参数 直接传即可 res1 add1.delay(3,4) print(res1)# 启动执行任务命令 如果是win系统 需要在安装一个模块 pip3 install eventlet###win运行 pip3 install eventlet celery -A 是指定命令 deno 是执行函数的文件名记得切换路径 worker -l info 指定级别 celery -A demo worker -l info -P eventlet任务执行完成这个 会阻塞在哪里等待新任务的提交####非win运行mac linux celery -A demo worker -l info# 查询结果 可以查询执行状态和结果 from demo import app from celery.result import AsyncResult id 5a7af383-6a4a-456e-b33b-43d5618f1208 if __name__ __main__:a AsyncResult(idid, appapp)if a.successful():result a.get() # hello worldprint(result)elif a.failed():print(任务失败)elif a.status PENDING:print(任务等待中被执行)elif a.status RETRY:print(任务异常后正在重试)elif a.status STARTED:print(任务已经开始被执行) celery 包结构 -celery_task-celery.py-user_task.py-order_task.py-goods_task.py包下必须有一个celery的文件 所有任务一定要注册到 include中 from celery import Celery #####1 实例化得到对象####### broker redis://127.0.0.1:6379/1 backend redis://127.0.0.1:6379/2 app Celery(app, brokerbroker, backendbackend,include[celery_task.order_task,celery_task.user_task]) #######2 写任务 ##########以后各种类型任务单独写在py文件中-其他程序中提交任务 add_task_package.py -其他程序中查询结果 get_result_package.py启动 workera切换路径到路径上一级启动 比如 cd到celery_task的上一级即可 包名文件 celery 定时 异步 延迟任务 from celery_task.user_task import send from celery_task.order_task import order_of# 异步任务 任务函数.delay(参数) res send.delay(15800089521,3216) print(res)# 延迟任务 from datetime import datetime, timedelta# # 当前时间 加 上 自己设置的时间 后面需要自己修改一下配置文件 当前时间是utc时间 eta datetime.utcnow() timedelta(seconds20) # minutes3 可以修改时间单位# # args指定参数 eta指定时间延迟的时间 res order_of.apply_async(args[100860], etaeta) print(res)# 定时任务 单独写一个文件# 定时任务 # 定时任务--》一定要启动beat # 在celery.py 中写# 时区 app.conf.timezone Asia/Shanghai # 是否使用UTC app.conf.enable_utc False # 任务的定时配置 from datetime import timedelta from celery.schedules import crontabapp.conf.beat_schedule {send_sms: {task: celery_task.user_task.send,schedule: timedelta(seconds8), # 每隔多久发一次# schedule: crontab(hour8, day_of_week1), # 每周一早八点args: (1896388888, 6666), # 执行任务的函数 需要几个参数传几个}# cancle_order: {# task: celery_task.order_task.cancel_order,# # schedule: timedelta(minutes30),# schedule: crontab(hour11, day_of_week1, minute21), # 每周一早八点# args: (9999999,),# }, }# 启动beat---》每隔一段时间就提交任务 # celery -A celery_task beat -l info# 启动worker # celery -A celery_task worker -l info -P eventlet # 两个都要启动 一个是执行任务 一个是提交任务 就不需要我们手动启了django使用celery # celery中如果用到django的配置文件 必须加上一句话from celery import Celeryimport os # 异步任务使用到django的配置 必须要添加这一句加载配置文件 os.environ.setdefault(DJANGO_SETTINGS_MODULE, luffy_api.settings.dev)# 提交任务的地址 注意 必须是单引号 不然会报错 broker redis://127.0.0.1:6379/1# 完成任务之后的结果存储地址 backend redis://127.0.0.1:6379/2# add是任务名字 broker提交任务地址 任务完成地址 app Celery(app,brokerbroker,backendbackend,include[celery_task.order_task,celery_task.user_task])# 任务函数 from .celery import app from libs.sms_sen import common_send_smsapp.task def send(phone, code):common_send_sms(mobilephone,codecode).delay() # 掉用封装好的短信return 手机号:%s发送验证码%s成功 % (phone, code)# 视图类中# 使用celery异步发送短信 class Celery_send_sms(ViewSet):def create(self,request):mobile request.data.get(mobile)code 8888res send.delay(phonemobile,codecode)print(res)return APIResponse(手机号%s短信发送成功 % mobile)
http://www.pierceye.com/news/200745/

相关文章:

  • 韩国设计欣赏网站天津工程建设网官方网站
  • 微网站建设多少钱网站空间管理
  • 济南网站制作定制公司wordpress重新安装主题
  • python 网站开发教程怎么做网站跳转
  • 个人盈利网站怎么建立网站建设 深圳 凡科
  • 网站后台登录地址滨州论坛网站建设
  • 怎么给钓鱼网站做防红wordpress插件合集
  • 骆驼网站建设is_category wordpress
  • 网站中链接怎么做的怎么做资源网站
  • 石家庄建站模板搭建cdr做网站分辨率
  • 学校网站建设有限公司长春网站设计策划书
  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏
  • 制作网站免费建站成都设计公司deanzhang
  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网
  • 正能量网站下载做网站沧州
  • 网站维护需要什么技能wordpress博客评论删除