redisson延迟队列业务请教
我的需求,使用redisson延迟队列来实现发送任务RDelayedQueue<String> delayedQueue = redissonClient.getDelayedQueue(redissonClient.getQueue(RedisKey.KEY_EX_Q));
delayedQueue.offer(key,delay,TimeUnit.SECONDS);
正常下来是没问题的 但是我有这样一个需求 我想要手动删除某个延迟队列的键 需要怎么做呢
之前用过redis的过期键 但是他没有办法保证键过期时间一定会发送通知 应用服务器挂掉 也是监听不到键过期 不是有remove方法吗? 本帖最后由 xm0927 于 2024-8-30 16:02 编辑
有没有其他方法呢 // 获取延迟队列
RBlockingQueue<String> blockingQueue = redissonClient.getBlockingQueue(RedisKey.KEY_EX_Q);
RDelayedQueue<String> delayedQueue = redissonClient.getDelayedQueue(blockingQueue);
// 添加任务到延迟队列
delayedQueue.offer(key, delay, TimeUnit.SECONDS);
// 删除特定任务
boolean removed = delayedQueue.remove(key);
if (removed) {
System.out.println("任务已成功删除");
} else {
System.out.println("任务删除失败");
}
页:
[1]