当我启动 sidekiq 进程时,它似乎删除了所有排队的作业。我可以使用 Sidekiq Web UI 验证这一点。当一个进程启动时,入队的选项卡总是重置为 0,并且已处理选项卡中的数字不会改变。我还可以看到从 redis 中删除的作业数据。这是预期的吗?似乎不可能在不丢失所有预定作业的情况下重新启动工人。
答案 0 :(得分:0)
我想通了。我的应用程序在启动时调用 Rails.cache.clear
,它实际上调用了 Redis 的刷新方法,清除了整个数据库:
https://github.com/redis-store/redis-store/issues/82
就我而言,解决方案是在启动时(或就此而言)简单地停止调用 Redis.cache.clear
,但我也可以为我的 sidekiq 作业使用单独的 redis 数据库。