【发布时间】:2020-08-27 02:43:25
【问题描述】:
在我的开发环境中,我收到此错误:
WARN: LoadError: Unable to autoload constant Alerts::FailedReportWorker, expected /my-path/app/workers/alerts/failed_report_worker.rb to define it.
我的 schedule.yml 文件中有这些工作人员:
alert_sla_worker:
cron: "*/1 * * * *"
class: "Alerts::SlaWorker"
alert_failed_export_worker:
cron: "*/1 * * * *"
class: "Alerts::FailedExportWorker"
alert_failed_report_worker:
cron: "*/1 * * * *"
class: "Alerts::FailedReportWorker"
alert_failed_extractor_worker:
cron: "*/1 * * * *"
class: "Alerts::FailedExtractorWorker"
我的文件夹结构如下:
workers
alerts(folder)
failed_export_worker.rb
failed_extractor_worker.rb
failed_report_worker.rb
sla_worker.rb
还有 failed_report_worker.rb :
# frozen_string_literal: true
module Alerts
class FailedReportWorker
include Sidekiq::Worker
sidekiq_options queue: :default, retry: 0
def perform
...
end
end
end
我该如何解决这个问题?我不确定我错过了什么!
【问题讨论】:
-
failed_report_worker.rb长什么样子? -
@RomanAlekseiev 我已经编辑了原帖 :)
-
奇怪的是它只抱怨那个工人。可以尝试重启吗?你能再三检查你的文件名或类名没有错字吗?
-
@Olkin 我已经这么做了每次工人开始时都会发生,只有5次中的1次......
-
测试
config.autoload_paths += Dir[config.root.join('app', 'workers', '**/*.rb')]
标签: ruby-on-rails ruby cron sidekiq