请问异步任务执行后,Redis 内存占用太多,怎么删除

异步任务执行后,redis内存占用太多,怎么删除,我看文档里没有处理redis内存的方案,不能让他一直增长吧

walt-white-zhou
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

@walt-white

  1. 这个任务指定了某个特定的队列而你没有启动对应的队列处理器
  2. 这个任务是一个延迟任务,还没到执行时间
  3. 这个任务耗时比较久,正在执行中的任务状态也是 pending
  4. 你这个任务的队列已经产生了任务积压,队列处理器来不及处理
4年前 评论
讨论数量: 7
leo

@walt-white

  1. 这个任务指定了某个特定的队列而你没有启动对应的队列处理器
  2. 这个任务是一个延迟任务,还没到执行时间
  3. 这个任务耗时比较久,正在执行中的任务状态也是 pending
  4. 你这个任务的队列已经产生了任务积压,队列处理器来不及处理
4年前 评论

我也遇到这个问题了,目前是分配队列优先级,执行速度快的优先执行,用horizon管理工作进程任务数量

4年前 评论
leo

你的异步任务数量是什么量级?百万?

4年前 评论

是的,现在已经上百万了

4年前 评论
leo

@walt-white 执行成功的任务会自己从队列里删除,如果 Redis 内存一直在增长你需要先排除是不是其他地方使用了 Redis 做缓存而且没有清理,然后再看看队列执行是否正常,是否有出现大量任务的堆积,如果是则你需要增加队列处理器。

4年前 评论

还有个问题是,我有个队列一直是pending状态,请问这是什么原因啊

file

4年前 评论
leo

@walt-white

  1. 这个任务指定了某个特定的队列而你没有启动对应的队列处理器
  2. 这个任务是一个延迟任务,还没到执行时间
  3. 这个任务耗时比较久,正在执行中的任务状态也是 pending
  4. 你这个任务的队列已经产生了任务积压,队列处理器来不及处理
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!