gpt4 book ai didi

ruby-on-rails - 使用脚本/delay_job 创建 delayed_job worker 时出现未定义方法错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:51 25 4
gpt4 key购买 nike

运行多个 worker 有点问题。

当使用 rake jobs:work jobs 创建 worker 时运行没有问题,即使多次调用它,但是当使用 ruby script/delayed_job -n 5 start all 作业因 Syck::DomainType 上的未定义方法而失败。

我已经搜索了很多,但似乎无法找到解决方案。我在 Mongoid 后端运行 DelayedJob。 gem 版本:

  • 抽成 0.9.2
  • rails 3.0.6
  • 延迟作业 2.1.4
  • delayedjob_mongoid 1.0.2

有没有人遇到过类似的错误/有解决方案?或者缺少一些关于为什么/如何根据调用方式以不同方式创建 worker 的信息?

最佳答案

我遇到了完全相同的问题。我可以通过在控制台中加载作业并尝试反序列化来重现它:

$ rails console production
> j = Delayed::Job.last
> YAML.load(j.handler)

在我的生产环境中,我得到了一个 Syck::DomainType 对象,而在开发中它只是反序列化了我的对象(两种情况下存储在 db 中的数据是相同的)。

长话短说,我意识到我的服务器上有 ruby​​ 1.9.1 而不是 1.9.2。使用 ruby​​-1.9.2p290 切换到 rvm 管理环境解决了我的问题。

关于ruby-on-rails - 使用脚本/delay_job 创建 delayed_job worker 时出现未定义方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com