gpt4 book ai didi

ruby-on-rails - Rails 5.2 和 Sidekiq : Can't find Worker Class

转载 作者:可可西里 更新时间:2023-11-01 11:12:29 24 4
gpt4 key购买 nike

我有一个名为 release_monitor_worker.rb 的工作程序保存在 app/workers/ 下。看起来像这样:

class ReleaseMonitorAddWorker
include Sidekiq::Worker
sidekiq_options retry: false

require 'watir'
require 'nokogiri'
require 'open-uri'

def parse_url(url)
puts "Beginning navigation to #{url}"
browser = Watir::Browser.new :chrome, headless: true
browser.goto url
puts "Succesfully navigated!"
Nokogiri::HTML.parse(browser.html)
end

def perform
doc = parse_url(URL)
count = doc.xpath('/html/body/div[9]/div/div/div/div/div[2]/div[2]/div[1]/div/div[1]/h1/span')
count.tr('()', '')
binding.pry
end
end

然后我从我的 NewReleasesController(名为 new_releases_controller.rb)中调用这个 worker,如下所示:

class NewReleasesController < ApplicationController
def index
ReleaseMonitorAddWorker.perform_async
end
end

我启动了 redis,然后是 sidekiq,然后运行 ​​rails s。触发该 Controller 方法时出现以下错误:uninitialized constant NewReleasesController::ReleaseMonitorAddWorker

这是怎么回事?

最佳答案

您的类名 (ReleaseMonitorAddWorker) 与包含的文件名 (release_monitor_worker.rb) 不匹配。要么将您的文件重命名为 release_monitor_add_worker.rb,要么将您的类重命名为 ReleaseMonitorWorker,它将起作用。

关于ruby-on-rails - Rails 5.2 和 Sidekiq : Can't find Worker Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52623408/

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