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

怎么采集网站内容网络营销推广价格

怎么采集网站内容,网络营销推广价格,汕头品牌设计公司,全球军事局势最新消息介绍 RabbitMQ 是一个消息中间人#xff08;broker#xff09;: 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮筒里时, 你可以确定邮递员会把信件送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮筒, 同时也是邮局和邮递员 . 和邮局的主要不同…介绍 RabbitMQ 是一个消息中间人broker: 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮筒里时, 你可以确定邮递员会把信件送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮筒, 同时也是邮局和邮递员 . 和邮局的主要不同点在于RabbitMQ不处理纸质信件, 而是 接收accepts, 存储stores 和转发forwards二进制数据块 —— 消息messages. 在RabbitMQ中有一些自己的行业术语要了解 . 生产producing在这里的意思就是发送sending. 一个发送消息的程序就是生产者 producer :  队列queue 可以看做是邮筒的别名 它存在于RabbitMQ中. 虽然消息在RabbitMQ和你的应用程序中流转, 但它只能被存储在队列当中. 一个队列只受到主机的内存和磁盘的限制, 它实际上是个大的消息缓冲区. 许多生产者可以发送消息到一个队列, 许多消费者可以从队列中接收数据. 下面是队列的示意图:  消费consuming 与接收receiving有相似的含义. 消费者consumer就是等待接收消息的程序 :  要注意的是 生产者, 消费者, 和中间人不必在相同的主机上实际上大多数情况下它们都不在同一台主机上 (using the pika 0.10.0 Python client) 在教程的这部分里我们用Python写两个小程序; 一个 发送消息的生产者 (sender), 一个接收消息并把它打印出来的消费者consumer (receiver) 在下面的图例中, “P” 代表我们的生产者 “C”代表我们的消费者. 中间的盒子是一个队列—由RabbitMQ 维持的消息缓冲区. 我们的整体设计大致如下图所示:  生产者发送消息到名为 “hello”的 队列. 消费者从那个队列中接收消息 RabbitMQ 库 RabbitMQ遵循 AMQP 0.9.1, 这是一个开源的, 多用途general-purpose的消息发送协议. 针对RabbitMQ在不同语言中有多种客户端可用. 在本教程系列中我们将使用 Pika, 这是由RabbitMQ团队推荐的 Python客户端. 你可以使用pip安装. 发送  我们的第一个程序send.py 将会发送一条消息到队列中. 我们要做的第一件事是和 RabbitMQ 服务建立连接. #!/usr/bin/env python import pikaconnection pika.BlockingConnection(pika.ConnectionParameters(localhost)) channel connection.channel() 12345现在我们已经建立了一个到本地机器的中间人broker的连接, 如果想要连接到不同的机器上的中间人只要把‘localhost’替换成指定的名字和IP地址即可. 下一步, 在发送前我们要确保接收的队列存在. 如果我们发送消息到一个不存在的地址, RabbitMQ 会把消息丢弃掉. 我们创建一个名为‘hello’的队列 把消息发送到这个队列中: channel.queue_declare(queuehello) 1到这里我们准备好要发送消息了第一条消息只是一个简单的字符串“hello world”把它发送到队列中 In RabbitMQ 一条消息从不会被直接发送到队列, 它会先经过一个交换所exchange. 但我我们不要被细节缠住 ‒ 你会在教程的第三部分了解更多关于交换所的内容. 目前我们需要知道的就是如何使用有空字符串所指定的默认交换所。这个交换所允许我们准确指定消息应该前往哪个队列。 队列名由 “routing_key”参数指定: channel.basic_publish(exchange,routing_keyhello,bodyHello World!) print( [x] Sent Hello World!) 1234退出程序前我们需要确保网络缓冲区network buffers被冲刷flushed并且我们的消息真的被发送到了RabbitMQ. 这只需要通过关闭连接来完成 connection.close() 1接收  我们的第二个程序 receive.py 将会从队列接收消息并且打印出来。 同样我们首先要连接到RabbitMQ 服务。 连接到Rabbit的代码同前面的一样 。 下一步同先前一样要确保队列存在. 使用queue_declare 创建队列是一个幂等idempotent操作 ‒ 我们想运行多少次这个命令都可以, 但只有一个队列被创建. channel.queue_declare(queuehello) 1你可能会问为什么又一次声明队列 ‒ 我们在前面的代码中已经声明过一次. 如果我们确定队列存在的话的话可以避免那么做. 例如 send.py 已经运行了. 但我们不确定哪个程序先运行. 在这种情况下最好在两个程序中都声明一下这是一个好的习惯。 列出所有队列 如果你想查看RabbitMQ 拥有哪些队列有多少消息在其中.你可以使用 rabbitmqctl 工具: sudo rabbitmqctl list_queues 在 Windows中: rabbitmqctl.bat list_queues 从队列中接收消息会稍微复杂一些. 通过给队列提供一个callback 函数来实现. 无论何时接收到消息, 这个callback 函数都会被 Pika 库调用. 在我们这里这个函数会打印出接收到的消息. def callback(ch, method, properties, body):print( [x] Received %r % body) 12下一步, 我们需要告诉 RabbitMQ 这个callback函数应该从我们的 “hello”队列中接收消息: channel.basic_consume(callback,queuehello,no_ackTrue) 123这里的“no_ack ”参数会在后面有介绍. 最后我们加一个等待接收数据并且在必要时运行回调函数的永远不会终止的循环. print( [*] Waiting for messages. To exit press CTRLC) channel.start_consuming() 12整合 send.py的完整代码 #!/usr/bin/env python import pikaconnection pika.BlockingConnection(pika.ConnectionParameters(hostlocalhost)) channel connection.channel()channel.queue_declare(queuehello)channel.basic_publish(exchange, routing_keyhello, bodyHello World!) print( [x] Sent Hello World!) connection.close() 123456789101112131415receive.py的完整代码 #!/usr/bin/env python import pikaconnection pika.BlockingConnection(pika.ConnectionParameters(hostlocalhost)) channel connection.channel()channel.queue_declare(queuehello)def callback(ch, method, properties, body): print( [x] Received %r % body) channel.basic_consume(callback, queuehello, no_ackTrue) print( [*] Waiting for messages. To exit press CTRLC) channel.start_consuming() 12345678910111213141516171819现在在终端运行我们的程序. 首先启动一个消费者程序, 这会持续运行来等待接收消息: python receive.py 1下面是在我的Ubuntu终端上的运行结果  现在来启动生产者. 生产者程序在运行完会退出: python send.py 1 在回头看之前打开的消费者程序终端已经接到了消息  我们已经学会了如何向一个命名队列中发送和接收消息. 下一节我们来构建一个简单的工作队列work queue转载于:https://www.cnblogs.com/ExMan/p/10281517.html
http://www.zqtcl.cn/news/204969/

相关文章:

  • ss永久免费服务器河南网站建设优化技术
  • wordpress首页源码深圳seo关键词优化外包公司
  • 网站备案换公司吗网站开发 东莞
  • 济南网站营销彩票网站建设 极云
  • 园区门户网站建设方案著名网站用什么语言做后台
  • 有经验的邵阳网站建设四川省城乡建设网查询
  • 网站打不开怎么做天猫店购买交易平台
  • 什么专业是做网站做网站设分辨率
  • 供水开发建设公司网站建筑案例网站有哪些
  • 建站平台备案wordpress 论坛
  • 朗域装饰公司电话中卫网站推广优化
  • 公司用dw做网站吗做外贸翻译用那个网站
  • 希尔顿酒店网站建设的优点网站建设添加汉语
  • 贵阳利于优化的网站wordpress模糊搜索插件
  • 河南做网站最好的公司门户网站制度建设
  • 新余 网站建设公司浏览不良网页的危害
  • 长春做网站哪里好西安有什么网页设计公司
  • 昆明网站建设精英免费自己建网页
  • 网站开发框架 开源买的有域名怎么做网站
  • 为什么做电商网站成都在哪建设网站
  • 有没有做请帖的网站南漳网站制作
  • 项目信息网站哪个好企业开展网络营销方案
  • 网站开发制作费入会计科目做毕业设计个人网站任务书
  • 自己建一个网站微信指数官网
  • 产品推广网站模板哪里有做网站的素材
  • 网站界面要素村网站开设两学一做栏目
  • 临沂免费模板建站河北邢台手机网站建设
  • 企业网站栏目规划的重要性wordpress改变为中文
  • 云服务器怎么上传网站个人建一个网站多少钱
  • 东莞网站建设包装制品flash网站制作