首页 > 解决方案 > Sidekiq 不处理作业

问题描述

我是 Sidekiq 的新手。我正在尝试运行一个集成在我的 webapp 中的基本示例。所以,目前:

  1. 我有redis听。
  2. 我在 /my-project-root/app/workers/hard_worker.rb 中创建了一个工人,如下所示:

    require 'sidekiq'
    require 'utils_service.rb' # External service in lib folder with the process functionality
    
    
    Sidekiq.configure_client do |config|
        config.redis = {db:1}
    end 
    
    Sidekiq.configure_server do |config|
        config.redis = {db:1}
    end 
    
    
    class HardWorker
      include Sidekiq::Worker
    
      def perform()
        logger.debug "Initializing integration..."
        doWhatever()
      end
    end
    
  3. 从我的 webapp 中,用户可以向控制器发送请求以运行应该创建作业的方法,例如:

控制器:

def manageWorker
      logger.debug "manageWorker-->before calling HardWorker."
      HardWorker.perform_async()
      logger.debug "manageWorker-->after calling HardWorker."
end
  1. 我在 websocket 中启动并运行了我的 webapp(我之所以这么说是因为我不知道找到问题的路径原因是否重要)。
  2. 我启动sidekiq服务器:

    cd /my-project-root

    bundle exec sidekiq -d -L log/sidekiq.log

服务器将一些启动日志发送到日志文件。但是,当我将请求发送到控制器时,我可以看到该函数已运行。在我的 webapp 日志文件中,我可以看到:

manageWorker-->before calling HardWorker.
manageWorker-->after calling HardWorker.

因此,显然该作业已执行。然而,什么也没有发生。我在 sidekiq 日志文件中看不到任何日志。

我错过了什么?

我只是想指出文件的路径以及我启动 sidekiq 服务器的位置,因为我认为可能与此有关。

标签: sidekiq

解决方案


调试级别仅以-v.


推荐阅读