Rails 5.2.3: Sidekiq Scheduler gives NameError: uninitialized constant in Production
Rails 5.2.3: Sidekiq Scheduler gives NameError: uninitialized constant in Production
在我的 Rails 5.2.3 应用程序中,我有 config/sidekiq.yml
看起来像这样:
:verbose: true
:concurrency: 30
:queues:
- [mailers, 7]
- [critical, 6]
- [default, 5]
- [low, 4]
:logfile: ./log/sidekiq.log
:schedule:
ScheduledNotices:
queue: low
cron: '0 0 * * * *' # every hour
我的ScheduledNotices
放在lib\scheduled_notices.rb
目前在开发环境中 Scheduler 按预期工作,但在生产环境中出现此错误:NameError: uninitialized constant ScheduledNotices
在我的 application.rb 我有:
config.autoload_paths += %W(#{config.root}/lib)
请问我做错了什么?
这可能与路径自动加载问题有关,请检查此以获取更多详细信息:https://github.com/rails/rails/issues/13142#issuecomment-275492070
你应该做的是改变:
config.autoload_paths += %W(#{config.root}/lib)
至
config.eager_load_paths << Rails.root.join('lib')
在我的 Rails 5.2.3 应用程序中,我有 config/sidekiq.yml
看起来像这样:
:verbose: true
:concurrency: 30
:queues:
- [mailers, 7]
- [critical, 6]
- [default, 5]
- [low, 4]
:logfile: ./log/sidekiq.log
:schedule:
ScheduledNotices:
queue: low
cron: '0 0 * * * *' # every hour
我的ScheduledNotices
放在lib\scheduled_notices.rb
目前在开发环境中 Scheduler 按预期工作,但在生产环境中出现此错误:NameError: uninitialized constant ScheduledNotices
在我的 application.rb 我有:
config.autoload_paths += %W(#{config.root}/lib)
请问我做错了什么?
这可能与路径自动加载问题有关,请检查此以获取更多详细信息:https://github.com/rails/rails/issues/13142#issuecomment-275492070
你应该做的是改变:
config.autoload_paths += %W(#{config.root}/lib)
至
config.eager_load_paths << Rails.root.join('lib')