首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails -老cron作业继续运行,不能删除它

Rails -老cron作业继续运行,不能删除它
EN

Stack Overflow用户
提问于 2018-01-19 02:58:49
回答 2查看 1.6K关注 0票数 2

所以我使用Rails,我有一些Sidekiq工作人员,但是启用了none。我使用的是sidekiq-cron gem,它要求您将文件放入app/workers/中,在config/sidekiq_schedule.yml中配置侧翼调度程序,并在config/initializers/sidekiq.rb中添加几行代码。但是,我已经注释了sidekiq_schedule.yml中的所有内容,也注释了sidekiq.rb中的以下行

代码语言:javascript
复制
# Sidekiq scheduler.
# schedule_file = 'config/sidekiq_schedule.yml'

# if File.exists?(schedule_file) && Sidekiq.server?
#   Sidekiq::Cron::Job.load_from_hash! YAML.load_file(schedule_file)
# end

但是,如果我启动Sidekiq,每分钟(这是旧的时间表),我会在提示符中看到这一点:

代码语言:javascript
复制
2018-01-19T02:54:04.156Z 22197 TID-ovsidcme8 ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper JID-8609429b89db2a91793509ea INFO: start
2018-01-19T02:54:04.164Z 22197 TID-ovsidcme8 ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper JID-8609429b89db2a91793509ea INFO: fail: 0.008 sec

它失败了,因为它试图启动代码--这是一个不应该启动的作业。

我已经到了rails控制台提示符(rails -c)并试图找到这个工作,但是里面什么都没有:

代码语言:javascript
复制
irb(main):001:0> Sidekiq::Cron::Job.all
=> []

所以我不太清楚它为什么要不断地尝试启动一份工作。如果我在我的应用程序上访问rails接口,我看不到队列中的任何内容,没有任何处理、繁忙、重试、排队,什么都没有。

如有任何建议,将不胜感激。就像最后一个小时一样,我一直在试图找出这件事,但没有成功。我甚至从“工人”目录中删除了所有的员工,但是它仍然试图启动其中的一个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-19 07:42:37

因为您已经加载了作业,所以我认为这些作业配置仍然在REDIS中。通过使用redis-cli打开一个新的终端选项卡来检查这个假设

代码语言:javascript
复制
KEYS '*cron*'

如果红宝石上有这些钥匙,清除它们会解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2018-01-19 07:52:12

因为您在标题中提到了cron作业,但没有提到问题,所以我假设有一个cron作业运行后台sidekiq任务。

尝试在终端中运行crontab - l以查看所有cron作业。如果你看到"* * *“之类的东西,那就意味着有一个任务在每分钟运行。

然后,使用crontab - r清除cron选项卡并删除所有计划的任务。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48333488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档