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

html全部源码免费/北京seo优化诊断

html全部源码免费,北京seo优化诊断,邯郸网络宣传公司,投票网站做seo如何django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间。可不可以立刻对用户返回响应,然后在后台运行那些操作呢? crontab定时任务很难达到这样的要求 ,异步任务是很好的…

django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间。可不可以立刻对用户返回响应,然后在后台运行那些操作呢?

crontab定时任务很难达到这样的要求 ,异步任务是很好的解决方法,有一个使用python写的非常好用的异步任务工具Celery。

broker、worker和backend

Celery的架构由三部分组成,消息中间件(broker),任务执行单元(worker)和任务执行结果存储(result backends)组成。

应用程序调用Celery的时候,会向broker传递消息,而后worker将会取到消息,对程序进行执行,backend用于存储这些消息以及Celery执行的结果。

消息中间件broker

Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。

RabbitMQ是最好的消息中间件,使用方法如下:

Using RabbitMQ

Redis也是可行的,虽然有信息丢失的风险:

Using Redis

其余broker Broker Overview。

任务执行单元worker

Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。

任务结果存储backend

用来存储Worker执行的任务的结果:SQLAlchemy/Django ORM, Memcached, Redis, RPC (RabbitMQ/AMQP)。

下载

下载Celery很简单:

$ pip install celery

这里使用Redis作为broker实践一下,需要额外的库支持,可以一起下载:

$ pip install -U "celery[redis]"

写应用程序

写一个简单的应用tasks.py:

from celery import Celeryapp = Celery('tasks', broker='redis://localhost:6379/0')@app.task
def add(x, y):return x + y

运行worker

在命令行中运行:

$ celery -A tasks worker --loglevel=info

输出如下:

[2017-09-10 06:59:58,665: INFO/MainProcess] Connected to redis://localhost:6379/0
[2017-09-10 06:59:58,671: INFO/MainProcess] mingle: searching for neighbors
[2017-09-10 06:59:59,688: INFO/MainProcess] mingle: all alone
[2017-09-10 06:59:59,724: INFO/MainProcess] celery@ubuntu ready.

发送任务

进入python环境:

>>> from tasks import add
>>> add.delay(4, 4)

worker里就可以看到任务处理的消息:

[2017-09-10 07:02:34,874: INFO/MainProcess] Received task: task.add[40ec89c8-0a23-4a26-9da0-7f418c50f4cb]  
[2017-09-10 07:02:34,876: INFO/ForkPoolWorker-1] Task task.add[40ec89c8-0a23-4a26-9da0-7f418c50f4cb] succeeded in 0.000579041981837s: 8

存储结果

使用Redis作为存储backend,在tasks.py中修改:

app = Celery('tasks', backend='redis://localhost:6379/0', broker='redis://localhost:6379/0')

运行后就可以查看结果了:

>>> from task import add
>>> r=add.delay(3,4)
>>> r.result
7
>>> r.ready()
True
>>> r.get(timeout=1)
7

可以查看Redis中的存储:

127.0.0.1:6379> get celery-task-meta-f2032d3e-f9a0-425d-bce4-f55ce58c8706
"{\"status\": \"SUCCESS\", \"traceback\": null, \"result\": 7, \"task_id\": \"f2032d3e-f9a0-425d-bce4-f55ce58c8706\", \"children\": []}"
127.0.0.1:6379> 

超级简单,想要对Celery做更进一步的了解,请参考官方文档。

http://www.lbrq.cn/news/1294147.html

相关文章:

  • 中山做网站优化/百度识图网页版 在线
  • 网站建设服务合同缴纳印花税吗/百度广告联盟怎么加入
  • php ajax网站开发/百度企业认证怎么认证
  • 医院建网站/百度收录api怎么提交
  • 中国建设银行江西分行网站首页/百度收录
  • 广州哪家做网站/长尾关键词挖掘工具
  • 做一家电商网站需要多少钱/企业网站模板 免费
  • 网站建设需求说明书/泉州搜索推广
  • 页面设计一般用什么软件/seo专业培训
  • 我司如何自己建设动态网站/关键词搜索引擎又称为
  • 信息课做网站的软件/seo咨询师
  • 做学校网站的目的是什么/恶意点击软件哪个好
  • 上海建筑工程股份有限公司/江西短视频seo搜索报价
  • 做的美食视频网站/百度推广可以自己开户吗
  • 澳门网站建设/免费学生网页制作成品代码
  • 酒店电子商务网站策划书/制作一个网站大概需要多少钱
  • 网站建设百度搜索到左边的图/网络营销管理
  • js网站建设/b站2020推广网站
  • 常德公司做网站/百度广告联盟平台的使用知识
  • 实验一html静态网站开发/百度上海总部
  • 直播视频网站如何做/营销管理制度范本
  • 如何建立免费网站的步骤/内江seo
  • 聊城哪里做优化网站/点击器
  • 网站 空间 备案/百度手机助手app官方下载
  • 做影视后期有哪些资源网站/网络营销的分类
  • 沈阳市工伤网站做实/如何做好seo基础优化
  • tp框架做的网站/青岛网站seo服务
  • 网站建设有哪些软件有哪些/挖掘关键词的工具
  • wordpress注册开启邮件验证/广州软件系统开发seo推广
  • 好听大气的公司名称/杭州seo网络推广
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • LLaMA-Factory 微调可配置的模型基本参数
  • ASP .NET Core 8高效集成Redis缓存实战
  • 枪战验证系统:通过战斗证明你是人类
  • Kotlin函数式接口
  • 线程池的状态