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

三亚市建设局网站公示做外卖那些网站好

三亚市建设局网站公示,做外卖那些网站好,wordpress主题演示导入,做网站软件下载Celery是基于Python开发的一个分布式任务队列框架#xff0c;支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度Celery是典型的生产生-消费者模式#xff0c;主要由三部分组成#xff1a;broker(消息队列)、workers(消费者#xff1a;处理任务)、backend(存储结…Celery是基于Python开发的一个分布式任务队列框架支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度Celery是典型的生产生-消费者模式主要由三部分组成broker(消息队列)、workers(消费者处理任务)、backend(存储结果)1.编写任务代码task.pyfrom celery import Celeryapp Celery(tasks,brokeramqp://guestlocalhost//, backendredis://localhost:6379/0)app.taskdef add(x, y):return x y当函数使用”app.task”修饰后即为可被Celery调度的任务2.启动workers 命令 celery worker -A tasks --loglevelinfo --concurrency53.调用任务resultadd.delay(2, 5)result.ready()result.get(timeout1)4.配置文件单个参数配置:app.conf.CELERY_BROKER_URL amqp://guestlocalhost//app.conf.CELERY_RESULT_BACKEND redis://localhost:6379/0多个参数配置:app.conf.update(CELERY_BROKER_URL amqp://guestlocalhost//,CELERY_RESULT_BACKEND redis://localhost:6379/0)从配置文件中获取:先把配置存入配置文件中celeryconfig.pyBROKER_URLamqp://guestlocalhost//CELERY_RESULT_BACKENDredis://localhost:6379/0导入到celery 对象中app.config_from_object(celeryconfig)我们之前调用任务使用了”delay()”方法它其实是对”apply_async()”方法的封装使得你只要传入任务所需的参数即可关于序列化Celery默认序列化方式是”json”,指定序列化app Celery(tasks, broker..., task_serializeryaml)app.conf.update(CELERY_TASK_SERIALIZERpickle,CELERY_RESULT_SERIALIZERjson,)app.taskdef add(x, y):...add.apply_async((2, 5), serializerjson)django celery 实现任务的异步处理1.Django Web中从一个http请求发起到获得响应返回html页面的流程大致如下http请求发起 -- http handling(request解析) -- url mapping(url正则匹配找到对应的View) -- 在View中进行逻辑的处理、数据计算(包括调用Model类进行数据库的增删改查)--将数据推送到template返回对应的template/response同步请求所有逻辑处理、数据计算任务在View中处理完毕后返回response。在View处理任务时用户处于等待状态直到页面返回结果异步请求View中先返回response再在后台处理任务。用户无需等待可以继续浏览网站。当任务处理完成时我们可以再告知用户2.建立消息队列消息队列可以使用RabbitMQ、Redis 等3.安装django-celerypip install celery django-celery4.配置settings.pyimport djcelerydjcelery.setup_loader()BROKER_URL django:// # 使用django做brokerCELERYBEAT_SCHEDULER djcelery.schedulers.DatabaseScheduler # 定时任务.CELERY_RESULT_BACKEND djcelery.backends.database:DatabaseBackend # 需要跟踪任务的状态时保存结果和状态CELERY_ENABLE_UTC False # 不用UTC.CELERY_TIMEZONE Asia/Shanghai # 指定上海时区CELERY_ACCEPT_CONTENT [pickle, json, msgpack, yaml] # 允许的格式CELERY_TASK_SERIALIZER jsonCELERY_RESULT_SERIALIZER jsonCELERY_IGNORE_RESULT TrueINSTALLED_APPS [djcelery,# 新增kombu.transport.django, # 新增kombu.transport.django则是基于Django的broker]其中当djcelery.setup_loader()运行时Celery便会去查看INSTALLD_APPS下包含的所有app目录中的tasks.py文件找到标记为task的方法将它们注册为celery task5.在项目 mysite 下新建celery.pyfrom future import absolute_importimport osfrom celery import Celeryos.environ.setdefault(DJANGO_SETTINGS_MODULE, mysite.settings)from django.conf import settings # noqaapp Celery(mysite)app.config_from_object(django.conf:settings)app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)app.task(bindTrue)def debug_task(self):print(Request: {0!r}.format(self.request))6.在应用celery_project下新建tasks.pyfrom future import absolute_importfrom celery import shared_taskimport timeshared_task(track_startedTrue)def add(x, y):time.sleep(30)return x y在tasks.py中我们就可以编码实现我们需要执行的任务逻辑在开始处import task然后在要执行的任务方法开头用上装饰器task。需要注意的是与一般的.py中实现celery不同tasks.py必须建在各app的根目录下且不能随意命名6.生产任务在需要执行该任务的View中通过test.delay的方式来创建任务并送入消息队列def produce():a 1b 2r test.delay(a,b)7.启动work#先启动服务器 python manage.py runserver#再启动worker celery worker -A mysite -c 4 --loglevelinfo
http://www.pierceye.com/news/124691/

相关文章:

  • 做的网站在百度上搜不出来的宁波关键词优化平台
  • 哪里有手机网站建设公司有道网站收录提交入口
  • 赣州网站建设较好的公司贵州网站建设hsyunso
  • 网站建设和管理是教什么科目鹤壁网站建设鹤壁
  • 网站域名和邮箱域名解析国外网站国内做二维码
  • 万万州州微微网站网站建建设设福州建设网站效果图
  • 长安网站建设详细教程鸿科经纬教网店运营推广
  • 微信营销模式有seo短视频网页入口引流推广
  • 做商城网站简单吗长春网站建设服务
  • 工厂弄个网站做外贸如何app开发报价公司
  • 网销网站建设流程如何创建网站挣钱
  • 韶关网站制作手机推广app
  • Linux做视频网站网速均衡网页编辑实践报告
  • 做ppt好的模板下载网站如何查看网站空间商
  • 武义公司网站建设公司如何建设网站首页
  • hdwiki做网站罗湖网站建设联系电话
  • 深圳网站建设 利科技wordpress插件 手机版
  • 南通优普网站建设团队课程设计模板
  • 网站建设与维护的选择题浦东新区做网站
  • 做视频网站视频放在哪里网站备案目的
  • 建设部安全事故通报网站怎么更改网站的备案号
  • 重庆网站建设维护网络推广引流方法
  • 精品网站开发分销网站建站
  • 建设一个教程视频网站需要什么资质策划书案例范文
  • 郑州汉狮做网站的大公司海尔网站建设
  • 成都网站制作成都重庆网红景点排名
  • 广西南宁市网站制作公司制作图片的软件加字体
  • 新手搭建网站教程品牌推广费用预算
  • 广州网站设计网站制作竞价托管多少钱
  • 创建企业营销网站包括哪些内容软考高项彻底没用了