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

彩票网站代理怎么做电视剧怎么做原创视频网站

彩票网站代理怎么做,电视剧怎么做原创视频网站,域名服务器在哪个国家,wordpress功能前言: 延迟队列是一个内部有序的数据结构,其主要功能体现在其延时特性上。这种队列存储的元素都设定了特定的处理时间,意味着它们需要在规定的时间点或者延迟之后才能被取出并进行相应的处理。简而言之,延时队列被设计用于存放那…

前言:

延迟队列是一个内部有序的数据结构,其主要功能体现在其延时特性上。这种队列存储的元素都设定了特定的处理时间,意味着它们需要在规定的时间点或者延迟之后才能被取出并进行相应的处理。简而言之,延时队列被设计用于存放那些需要在特定时间到达时才处理的元素。

使用场景:

1、定时任务调度:在任务调度系统中,延时队列可以用来安排任务在未来的某个时间点执行,比如定时发送邮件、消息推送、定时刷新缓存等。
2、订单超时取消:在电子商务网站中,未在规定时间内完成的订单可以通过延时队列来设置超时取消,如果订单在队列规定的延迟时间内没有被支付,系统将会自动取消订单。
3、消息重试机制:在消息队列中,如果消息处理失败了,可以将消息放入延时队列中,等待一段时间后再次尝试处理,以实现重试机制。
4、缓存数据过期:对于缓存系统,延时队列可以用来管理数据的过期时间,当数据在队列中的时间超过了设定的延迟时间,就将其从缓存中移除。
5、会话管理:在Web应用中,可以使用延时队列来管理用户会话的过期时间,当会话超过设定的有效时间后,系统将自动销毁会话。
6、任务延迟执行:有些任务可能需要在特定的时间窗口之后执行,比如数据分析任务可能需要在当天结束后才能进行,延时队列可以用来实现这种延迟执行。
7、权限验证Token过期:在安全系统中,发放的Token通常有有效时间,延时队列可以用来检测Token是否过期,并在过期时将其从系统中移除。

配置类:

配置文件

启动创建延迟队列和交换机

/*** 延迟队列*/
@Configuration
public class DelayedQueueConfig {/** 队列 */public static final String DELAYED_QUEUE_NAME="delayed_queue";/** 交换机 */public static final String DELAYED_EXCHANGE_NAME="delayed_exchange";/** 交换机类型 */public static final String DELAYED_EXCHANGE_TYPE="x-delayed-message";/** 交换机路由键 */public static final String DELAYED_ROUTING_KEY="delayed";/** 声明延迟队列 */@Beanpublic Queue delayedQueue() {return new Queue(DELAYED_QUEUE_NAME);}/** 声明延迟队列交换机 */@Beanpublic CustomExchange delayedExchange() {Map<String, Object> map = new HashMap<>();map.put("x-delayed-type", "direct");/*** 声明自定义交换机* 第一个参数: 交换机名称* 第二个参数: 交换机类型* 第三个参数: 是否需要持久化* 第四个参数: 是否自动删除* 第五个参数: 其他参数*/return new CustomExchange(DELAYED_EXCHANGE_NAME, DELAYED_EXCHANGE_TYPE, true, false, map);}/** 绑定队列和延迟交换机 */@Beanpublic Binding delayedQueueBindingDelayedExchange(@Qualifier("delayedQueue") Queue delayedQueue,@Qualifier("delayedExchange") Exchange delayedExchange) {return BindingBuilder.bind(delayedQueue).to(delayedExchange).with(DELAYED_ROUTING_KEY).noargs();}}

生产者: 

        示例:商城项目生成订单后超过30分钟不支付自动取消订单

        第一个参数:交换机名称

        第二个参数:路由键

        第三个参数:消息体

        第四个参数:消息后处理器

//将订单id放入延迟队列 延迟30分钟后没有支付取消订单 释放库存          rabbitTemplate.convertAndSend(DelayedQueueConfig.DELAYED_EXCHANGE_NAME,DelayedQueueConfig.DELAYED_ROUTING_KEY,mallOrder.getId(),message -> {//设置到期时间 方便测试这里设置30秒message.getMessageProperties().setDelay(10000);return message;});

消费者:

@RabbitListener(queuesToDeclare =@Queue(DelayedQueueConfig.DELAYED_QUEUE_NAME))public void consume(Integer orderId, Message message, Channel channel) {log.info("延时队列监听到消息,订单id为:{}", orderId);long deliveryTag = message.getMessageProperties().getDeliveryTag();//接收消息后代码try {//手动提交channel.basicAck(deliveryTag, false);} catch (IOException e) {throw new RuntimeException(e);}}

http://www.yayakq.cn/news/13620/

相关文章:

  • 网站刷链接怎么做的网站建设利润越来越低
  • 网站制作开发的步骤和方法查不到网站备案
  • 北京网站建设专家怎么建设维护学校的网站
  • 做解析会员电影的网站上海专业网站建设咨询
  • 网站空间免费做网站的说3年3年包括什么软件
  • 做网站需要做优化吗怎么在网站后面制作官网俩个字
  • ps做网站效果图制作过程wordpress手机建站教程
  • 校园网站模板南宁品牌网站建设
  • 适合大学生举办的活动策划网站速度对seo的影响
  • 温州网站建设公司个人网站域名名称大全
  • 岳阳网站定制曹妃甸网站建设
  • 自动生成网站搜索排行
  • 如果做二手车网站品牌商城网站制作公司
  • 南县网站制作建筑公司经营范围参考
  • 网站哪里有做的网络科技加我qq是干嘛
  • 网页设计做军事网站的感想平面设计和网站运营
  • 网站建设的基本情况湖南学校网站建设
  • h5网站设计报价学网站开发与维护有用吗
  • 网站首页鲁大师温州哪里有做网站
  • 网站制作一般收费做电子网站
  • 丰台网站建设公司网络工程师考试资料
  • 网站页面设计 颜色 背景 要求WordPress大气模板
  • 网站权重多少4python 安装wordpress
  • 淘宝网站建设违规吗网站建设栏目设计
  • 网站开发可以当程序员备案的网站 ,能拿来做仿站吗
  • 新手做网站设计莱芜网页定制
  • 网站怎么做留言板网站开发与实训报告
  • ui设计师网站淘宝客手机网站怎么做
  • 网站的按钮怎么做德州北京网站建设
  • 网站每天更新的内容是内链吗网站开发后台的问题