当前位置: 首页 > 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.dt0577.cn/news/10394.html

相关文章:

  • 甘肃商城网站建设百度怎么推广自己的网站
  • 百度推广开户2400上海网站排名seo公司哪家好
  • 怎么做淘宝客优惠劵网站最新舆情信息网
  • 哪个网站可以做pcb加工种子搜索引擎
  • 珠海企业网站建设饥饿营销案例
  • ps设计网站首页界面免费做做网站
  • 网站进入之前动态效果营销推广方案设计
  • 网站版权信息模板设计师经常用的网站
  • 基于站点的推广合肥网站制作公司
  • b2b网站推广技巧怎么创建自己的网址
  • 桐庐网站建设拓客app下载
  • 做项目网站四川百度推广排名查询
  • 网页设计模板素材源代码玉林seo
  • 网站和微信营销网站建站公司
  • 可视化网站设计工具网络推广服务合同范本
  • 做网站从设计到上线流程怎么给自己的公司做网站
  • 做企业网站有哪些系统优化设计四年级上册语文答案
  • 世纪佳缘网站开发公司百度收录最新方法
  • 网址大全你懂的广州四楚seo顾问
  • 上海亿网站建设建立网站的软件
  • 谷歌做新媒体运营的网站seo优化专员招聘
  • 珠海响应式网站建设公司论文收录网站
  • 免费建立自己微网站德国搜索引擎
  • vue停运还能编辑视频吗北京优化网站建设
  • 徐州网站建设网站制作头条权重查询
  • 北京手机网站建设外包简述什么是seo及seo的作用
  • 做医院网站百度资源平台
  • 成都企业建设网站seo索引擎优化
  • as.net 网站开发视频教程企业全网推广公司
  • 180天做180个网站网站怎么营销推广