You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除已无对应代码的每分钟运行的Sidekiq定时任务?

解决Sidekiq残留定时任务的方法

1. 清理Redis中的旧任务缓存

Sidekiq的定时任务(如使用Sidekiq-Cron)会将配置存储在Redis中,删除代码里的任务后,Redis内的旧配置仍会存在,需手动清除:

  • 进入Redis命令行:redis-cli
  • 列出所有Sidekiq-Cron相关键:KEYS sidekiq:cron:*
  • 删除对应任务的键:DEL sidekiq:cron:[你的任务名称]
    若不确定任务名称,可直接清空Sidekiq-Cron的任务缓存:DEL sidekiq:cron:jobs

2. 重启Sidekiq进程

正在运行的Sidekiq进程可能仍持有旧任务配置,重启服务让新配置生效:

  • 停止Sidekiq:bundle exec sidekiqctl stop tmp/pids/sidekiq.pid(路径根据你的实际部署调整)
  • 重启Sidekiq:bundle exec sidekiq -d -L log/sidekiq.log -P tmp/pids/sidekiq.pid

3. 清理失败任务队列

已失败的任务可通过两种方式处理:

  • 在Sidekiq Web UI中找到失败任务列表,批量勾选后删除
  • 执行rake任务批量清理:bundle exec rake sidekiq:clear:failed

4. 确认代码变更已部署

确保删除定时任务的代码修改已经同步到生产环境,避免旧代码重新调度任务。

内容的提问来源于stack exchange,提问作者Ouska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:15:44