加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 未初始化的恒定sidekiq工作者

发布时间:2020-12-17 01:43:39 所属栏目:百科 来源:网络整理
导读:新的铁轨项目. Rails 5.0.2 Sidekiq 4.2.10 我运行了rails g sidekiq:worker deposit_collector,然后在perform方法中填写了我需要的代码. 为了测试我登录到rails控制台并键入:DepositCollector.perform_async并且我收到错误: NameError: uninitialized co
新的铁轨项目.

Rails 5.0.2
Sidekiq 4.2.10

我运行了rails g sidekiq:worker deposit_collector,然后在perform方法中填写了我需要的代码.

为了测试我登录到rails控制台并键入:DepositCollector.perform_async并且我收到错误:

NameError: uninitialized constant DepositCollectorWorker

工作者应该在app / workers /文件夹中.我以前在几个项目中使用过sidekiq,但从未碰到过这个问题.

解决方法

默认情况下,Rails将包含 autoload paths列表中app文件夹的所有子目录.您可以在控制台中查看自动加载路径列表:

puts ActiveSupport::Dependencies.autoload_paths

但是Rails只在启动时查找这些路径.因此,当您添加新文件夹(如app / workers)时,重新启动Rails控制台是不够的.您需要退出Rails控制台并使用以下命令停止Spring Application Preloader:

spring stop

然后再次启动Rails控制台,app / workers文件夹中的文件将正确加载.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读