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

网站的站点建设销售推广的方法都有哪些

网站的站点建设,销售推广的方法都有哪些,南京工程造价信息网,软件工程系统设计案例代码的参数说明在 第一小节的代码中,如果需要可移步到第一节中查看 工作队列 工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列…

代码的参数说明在 第一小节的代码中,如果需要可移步到第一节中查看

工作队列

在这里插入图片描述
工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列中,一个运行在后台的工作者(worker)进程就会取出任务然后处理。当你运行多个工作者(workers),任务就会在它们之间共享。
使用工作队列的一个好处就是它能够并行的处理队列。如果堆积了很多任务,我们只需要添加更多的工作者(workers)就可以了,扩展很简单。
当我们在 n个Terminal 窗口中,运行消费者程序,就可以有多个消费者处理生产者生产的消息了 当队列中的消息发送给消费者1的时候,就不会再发送给消费者2了。

消息确认

当我们处理消息的时候, 我们想知道,消费者在处理的过程中是否已经处理完成,没有出现消费者挂机的状态,这里就需要消息确认了, 不然队列中的消息是否处理完成,不能明确, 有可能会丢失重要的数据。
消息响应默认是开启的。之前的例子中我们可以使用no_ack=True标识把它关闭。是时候设置的第四个参数basic_consume为false (true 意味着不响应ack) ,当工作者(worker)完成了任务,就发送一个响应。

公平调度

RabbitMQ只管分发进入队列的消息,不会关心有多少消费者(consumer)没有作出响应。它盲目的把第n-th条消息发给第n-th个消费者。 不会等侍是否处理完成
我们可以使用basic.qos方法,并设置prefetch_count=1。这样是告诉RabbitMQ,再同一时刻,不要发送超过1条消息给一个工作者(worker),直到它已经处理了上一条消息并且作出了响应。这样,RabbitMQ就会把消息分发给下一个空闲的工作者(worker)。

$channel->basic_qos(null, 1, null);

生产者

使用了 第一小节中的生产者,一次生成了20个消息

消费者

<?php
declare (strict_types = 1);namespace app\command;use Exception;
use PhpAmqpLib\Connection\AMQPStreamConnection;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;//工作队列带消息确认的 开几个终端,就会有几个消息者来消费。
//生产者可以使用 SimpleMQProduce 中的生产者
class WorkerWithAck extends Command
{protected function configure(){// 指令配置$this->setName('workerwithack')->setDescription('这是一个工作队列,带应答的');}protected function execute(Input $input, Output $output){//获取连接$connection = $this->getConnection();//获取通道$channel = $connection->channel();$channel->queue_declare("hello",false,false,false,false,false);$callback = function($msg){$msgbody = $msg->body;$msgbydyArr = json_decode($msgbody,true);echo $msgbydyArr["name"]."--".$msgbydyArr["age"]."--".$msgbydyArr["sex"].PHP_EOL;$msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);   //这里让就是消息的应答了};//如果我们要让消费者一条一条的处理消费,也就是说 只有consumer已经处理并确认了上一条message时queue才分派新的message给它//我们可以加上下面的这个代码, 注意,是可以加,也可以不加。因为我们有了应答机制,消息是不会丢失的//$channel->basic_qos(null,1,null);  //这句可加可不加$channel->basic_consume("hello","",false,false,false,false,$callback);while(count($channel->callbacks)){$channel->wait();}}protected function getConnection(){try{return new AMQPStreamConnection("192.168.3.228",5672,"admin","123456");}catch(Exception $e){throw new \Exception("创建队列连接失败");}}}

测试结果,两个 工作队列分别处理了,同一个生产者的数据,并且没有重复
在这里插入图片描述
在这里插入图片描述

http://www.mmbaike.com/news/105068.html

相关文章:

  • 在linux系统上用什么做网站安卓优化
  • 飞狐小说网站建设吉安seo
  • 网站域名可以改吗推广优化网站排名
  • 做网站单线程CPU和多线程cpu济南seo优化外包服务公司
  • 乐清建网站百度推广售后
  • 做网站还能挣钱国内高清视频素材网站推荐
  • 嘉兴做营销型网站设计中国搜索引擎市场份额
  • 网站建设源码一诺网络推广公司
  • 做垃圾网站可行吗百度云盘网官网
  • 网站策划岗位职责sem竞价推广怎么做
  • 文明农村建设网站小红书推广策略
  • 长春网站制作长春万网seo是一种利用搜索引擎的
  • 长春网站排名优化公司排名优化哪家专业
  • 网站 二级分类今日的最新消息
  • 如何做好一个购物网站aso推广方案
  • 网站开发四点注意事项seo营销培训
  • 做网站资料准备什么廊坊快速优化排名
  • 哪个网站可以做代练bt兔子磁力天堂
  • 论论坛坛网网站站建建设设百度网盘手机app下载安装
  • 网站建设 php 企业网站小程序生成平台系统
  • 沈阳三好街网站建设今天新闻头条
  • 新媒体 网站建设 影视快速建站工具
  • 网站建设客户常问到的问题外链怎么打开
  • 外贸网站建设服务器百度登录首页
  • 巩义做网站的百度指数趋势
  • 政府网站建设教程口碑营销策略
  • 花生壳做网站是否稳定yandex搜索引擎
  • 做网站需要的注意事项百度关键词排名代做
  • 杨凌区住房和城乡建设局网站谷歌排名优化
  • 找外国女朋友的网站建设关键词优化设计