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

静态页面网站怎么做为什么建设网站要年年交钱

静态页面网站怎么做,为什么建设网站要年年交钱,找个小网站,四川网站设计使用场景介绍: 1)用于实时监听远程服务器发出的消息(json格式消息),接受并更新消息状态,存储到本地服务器 2)环境:lNMP(laravel8) 3)服务器需要开…

使用场景介绍:
1)用于实时监听远程服务器发出的消息(json格式消息),接受并更新消息状态,存储到本地服务器
2)环境:lNMP(laravel8)
3)服务器需要开启rabbitmq驱动队列

1、composer安装rabbitmq扩展包

vladimir-yuldashev/laravel-queue-rabbitmq
参考文档:[https://blog.csdn.net/u012321434/article/details/126246141]

2、安装配置文件

  1. 打开app/config/queue.php中connections数组中添加以下代码,根据实际情况填写相关配置信息
 'rabbitmq' => ['driver' => 'rabbitmq','queue' => env('RABBITMQ_QUEUE', 'default'),'connection' => PhpAmqpLib\Connection\AMQPLazyConnection::class,'hosts' => [['host' => env('RABBITMQ_HOST', '127.0.0.1'),'port' => env('RABBITMQ_PORT', 5672),'user' => env('RABBITMQ_USER', 'guest'),'password' => env('RABBITMQ_PASSWORD', 'guest'),'vhost' => env('RABBITMQ_VHOST', '/'),],],'options' => ['ssl_options' => ['verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', false),],'queue' => [//此处直接添加到自定义的job任务中'job' => App\Jobs\Rabbitmq\RabbitMQJob::class,//以下配置是rabbitmq 广播模式(direct)'exchange' => 'amq','exchange_type' => 'direct','exchange_routing_key' => '',],],/** Set to "horizon" if you wish to use Laravel Horizon.*/'worker' => env('RABBITMQ_WORKER', 'default'),],
  1. .env文件中配置相关参数信息
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_USER=testuser
RABBITMQ_PASSWORD=test
RABBITMQ_VHOST=/project
RABBITMQ_QUEUE=que_project
  1. 在app/config/logging.php文件channels选项中添加自定义log日志,记录报错日志信息
 'rabbitmq' => ['driver' => 'daily','path' => storage_path('logs/rabbitmq.log'),'level' => env('LOG_LEVEL', 'debug'),'days' => 14,],
  1. RabbitMQJob.php
namespace App\Jobs\Rabbitmq;use Illuminate\Support\Str;
use VladimirYuldashev\LaravelQueueRabbitMQ\Queue\Jobs\RabbitMQJob as BaseJob;
use App\Services\Rabbitmq\RabbitmqService;class RabbitMQJob extends BaseJob
{public $tries = 1;public $timeout = 3600;public $maxExceptions = 3;public function fire(){$payload = $this->payload();(new RabbitmqService())->handle($payload['data']);$this->delete();}/*** Get the decoded body of the job.* 接收消息体并自定义处理* @return array*/public function payload(){return ['uuid' => (string) Str::uuid(),'job'  => '\App\Services\Rabbitmq\RabbitmqService@handle','maxTries' => $this->tries,'maxExceptions' => $this->maxExceptions,'timeout' => $this->timeout,'data' => json_decode($this->getRawBody(), true)];}/*** Process an exception that caused the job to fail.** @param  \Throwable|null  $e* @return void*/protected function failed($e){(new RabbitmqService())->failed($e);}}
  1. RabbitmqService.php

namespace App\Services\Rabbitmq;use Illuminate\Support\Facades\Log;class RabbitmqService
{protected $logName = 'rabbitmq';protected $connection;protected $channel;public $messageService;/*** 处理消息状态* @param $message .接收到的消息* @return bool*/public function handle($message=''){//1.判断接收的消息情况Log::channel($this->logName)->info('接收的消息体:'.json_encode($message));//接收到的消息$message = json_decode(json_encode($message), true);//2.消息自定义处理}/*** 异常扑获* @param \Exception $exception*/public function failed(\Exception $exception){Log::channel($this->logName)->info('异常:'.json_encode($exception->getMessage()));}}
  1. 服务器开启rabbitmq队列驱动,开始监听消息
php artisan queue:work rabbitmq
http://www.yayakq.cn/news/284227/

相关文章:

  • 做网站首页多少钱郑州网站APP
  • 用php做购物网站视频网页设计实训报告技术难点
  • 官方网站建设步骤高端网站制作哪家好
  • 做添加剂的外贸网站有哪些网站制作公司美股上市
  • 罗湖网站建设设计阿里云主机如何安装wordpress
  • 山东省建设厅网站 - 百度上海企业网站模板
  • 怎么做一网站上海网站建设 亿速
  • 越秀网站建设设计微信公众平台直接上传wordpress
  • 大连网站制作在线微信小程序开发制作多少钱
  • 辽宁网站建设平台好口碑的关键词优化
  • 网站建设的功能模块国外网站布局
  • 做seo网站标题用什么符号做淘客网站需要备案
  • 折800 网站模板深圳网络络推广培训
  • 寺庙 网站建设有网络网站打不开
  • 可以做超链接或锚文本的网站有哪些上海网站的优化公司
  • 餐饮行业做网站的数据网站制作400哪家好网站
  • 湖南智能网站建设哪家好c2c网站建设费用
  • ps如何做游戏模板下载网站山东旗舰建设集团网站
  • 安康免费做网站公司试用网站空间
  • 做设计接外快在哪个网站网站之家
  • 网站建设wang.cd什么网站开发外贸客户
  • 酷炫html5网站公司网站建设及优化计划书
  • 网站seo做哪些工作专科千万别学数字媒体应用技术
  • 织梦模板网站源码青海网站建设怎么建设
  • 给境外网站网站做代理品牌型网络营销目标
  • 网站标题作弊电脑端网站和手机网站区别
  • 网站建设可用性的五个标准小企业网站建设是怎么做的
  • 做网站图片自动切换成都定制小程序开发公司
  • 重庆网站建设公司夹夹虫专业沈阳网站建设
  • 那里可以做工作室做网站抖音代运营案例