我在使用collectiveidea/delayed_jobs处理Rails 4中的任务时遇到问题。即,它可以工作,但似乎不想根据最近的文件更新来更新代码。这在生产和开发环境中都是如此,尽管我首先关注开发中的调试,只是为了看看可能发生的事情。
我的版本是delayed_job(4.1.1)和delayed_job_active_record(4.1.0)。
如果我同步运行一个作业(跳过delayed_jobs工作者),事情处理正常(以下代码是我用来测试它的那个):
app/config/initializers/delayed_job.rb
Delayed::Worker.delay_jobs = !(Rails.env.test? || Rails.env.development?)
但是,在delayed_jobs表队列/工作程序运行的情况下,我的每个过期代码都会出现一个版本较旧的作业版本。
我已经尝试将守护进程宝石锁定在1.1.9,如上所述here没有运气。
Gemfile
gem 'delayed_job_active_record'
gem 'daemons', '1.1.9'
我可以分享更多代码,但我不确定它会带来多少好处。我的测试显示了我刚才提到的内容。
无法重新启动delayed_job worker是其他地方已知的问题。但我的问题似乎更具体地说,即使我可以重新启动工作程序,某些更通用的缓存似乎也在干扰正确的执行。我也试过在dev和prod中重启应用服务器而没有运气。
任何类似的故事或提示都会非常有用!