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

网站做全景图微信群推广

网站做全景图,微信群推广,怎么在百度上面做网站,淘宝联盟怎么做网站推广概述 在 RabbitMQ 中实现延迟消息通常需要借助插件(如 RabbitMQ 延迟队列插件),因为 RabbitMQ 本身不原生支持延迟消息。 延迟消息的一个典型场景是,当消息发布到队列后,等待一段时间再由消费者消费。这可以通过配置…

概述

在 RabbitMQ 中实现延迟消息通常需要借助插件(如 RabbitMQ 延迟队列插件),因为 RabbitMQ 本身不原生支持延迟消息。

延迟消息的一个典型场景是,当消息发布到队列后,等待一段时间再由消费者消费。这可以通过配置 TTL(Time-To-Live)和死信队列(DLX, Dead Letter Exchange)实现,或者通过 RabbitMQ 的延迟插件实现。

安装插件

下载地址

在这里插入图片描述

直接点击下载,然后将下载后的文件直接放入在 plugins 目录中:

在这里插入图片描述

启动插件:

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

检查是否成功

打开可视化面板,访问 http://localhost:15672/#/ 账号密码都是 guest

发现新增了一个延迟队列类型 x-delayed-message:

在这里插入图片描述

延迟消息实现步骤

1. 创建一个延迟交换机

RabbitMQ 延迟插件允许我们使用一种特殊的交换机类型 x-delayed-message,可以设置延迟时间。

2. 发送延迟消息

通过设置消息属性中的 x-delay 来定义延迟时间。

3. 消费消息

消费者在消息到达指定的延迟时间后可以消费。

代码示例

1. 发送延迟消息的生产者代码
const amqp = require('amqplib');async function sendDelayedMessage() {const exchangeName = 'delayed_exchange';const routingKey = 'my_routing_key';const delayTime = 5000; // 延迟 5 秒// 连接到 RabbitMQ 服务器const connection = await amqp.connect('amqp://localhost');const channel = await connection.createChannel();// 声明延迟交换机await channel.assertExchange(exchangeName, 'x-delayed-message', {durable: true,arguments: {'x-delayed-type': 'direct', // 交换机的基础类型},});const message = 'Hello, this is a delayed message!';// 发送带有延迟的消息channel.publish(exchangeName, routingKey, Buffer.from(message), {headers: {'x-delay': delayTime, // 设置延迟时间},});console.log(`[x] Sent delayed message: "${message}" with delay: ${delayTime}ms`);// 关闭连接setTimeout(() => {connection.close();}, 1000);
}sendDelayedMessage().catch(console.error);
2. 消费延迟消息的消费者代码
const amqp = require('amqplib');async function consumeDelayedMessage() {const exchangeName = 'delayed_exchange';const queueName = 'delayed_queue';const routingKey = 'my_routing_key';// 连接到 RabbitMQ 服务器const connection = await amqp.connect('amqp://localhost');const channel = await connection.createChannel();// 声明队列并绑定到交换机await channel.assertQueue(queueName, { durable: true });await channel.bindQueue(queueName, exchangeName, routingKey);console.log('[*] Waiting for messages in delayed queue. To exit press CTRL+C');// 消费消息channel.consume(queueName, (msg) => {if (msg !== null) {console.log(`[x] Received delayed message: "${msg.content.toString()}"`);channel.ack(msg); // 手动确认消息}});
}consumeDelayedMessage().catch(console.error);
  1. 生产者部分

    • 使用 x-delayed-message 交换机,它允许消息在交换机中保留一段时间(通过 x-delay 属性),再发布到相应的队列。
    • 通过设置消息属性 headers: { 'x-delay': delayTime } 来指定延迟的时间。
  2. 消费者部分

    • 声明一个队列并将其绑定到延迟交换机,消费者从队列中接收消息。
    • 当消息的延迟时间到达后,消息被投递到队列并由消费者处理。

总结

使用延迟插件可以简化 RabbitMQ 中延迟消息的实现。

通过 x-delayed-message 交换机和 x-delay 属性,开发者可以灵活地控制消息的延迟发送时间。这种方式常用于需要延迟执行某些任务的场景,例如订单超时处理、延迟通知、预约外卖时延迟预约消息推送到商家等。

http://www.15wanjia.com/news/21440.html

相关文章:

  • 深圳国内网站设计公司加盟
  • 舆情监测工作要怎么做广州seo工程师
  • wordpress explodeseo关键词排名优化哪家好
  • 做网站平台难在哪里梁水才seo优化专家
  • html编辑器中文版太原百度网站快速优化
  • 天空台108网站找手工活带回家做seo关键词优化要多少钱
  • 建站公司不给源码成都黑帽seo
  • 网站风格和色调软文营销软文推广
  • 建网站怎么分类目前好的推广平台
  • 网站建设与开发课程介绍公众号开发
  • 做外贸网站卖什么好收录优美图片
  • 公司做网站建设百度图片收录提交入口
  • 个人怎么开网站自己怎么制作一个网站
  • 如何做网站的图片滑动块百度站长中心
  • 简约大气ppt模板下载衡水seo培训
  • 深圳的网站建设公司seo运营人士揭秘
  • 包头学做网站百度关键词查询排名怎么查
  • 成都网站建设价格上海app定制开发公司
  • 东莞企业营销型网站建设优化seo厂家
  • 北京市建设工程造价管理处网站苏州网站排名推广
  • 深圳高端租车公司seo优化包括
  • 如何判断网站有cdn加速河南seo和网络推广
  • 小制作作文400字网站seo推广方案
  • pc网站 公众号数据互通新网站快速收录
  • 一米设计公司成都seo经理
  • 网站专题页怎么做深圳网站开发技术
  • 温州网页制作哪家好seo怎么赚钱
  • 企业高端网站建设网站营销
  • 潍坊做电商的网站建设如何查看网站权重
  • 网络科技公司网站源码百合seo培训