如何使用默认队列在本地查看我的sidekiq控制台输出?

问题描述 投票:1回答:1

我正在使用Rails5。我想使用默认队列创建一个在本地运行的sidekiq进程。我的工人班级大致如下所示]

module Accounting::Workers
  class FileGenerationWorker
    include Sidekiq::Worker

    def perform
      print "starting work ...\n"
      ...

我已经这样设置了config / sidekiq.yml文件,希望每天在特定时间(上午11:05)运行工作程序...

:concurrency: 20
:queues:
  - default
    ...
:schedule:
  Accounting::Workers::FileGenerationWorker:
    cron: "0 5 11 * *"
    queue: default

但是,当我启动我的rails服务器(“ rails s”)时,我看不到我的打印语句输出到控制台或执行的任何工作,这告诉我我的工人不在运行。为了使该工作人员在本地正确安排,我还缺少什么?

cron console ruby-on-rails-5 sidekiq worker
1个回答
0
投票

使用]运行工人>

bundle exec sidekiq

您可能需要提供工作程序模块的路径。例如,

bundle exec sidekiq -r ./worker.rb

Sidekiq本身不支持:schedule:中的Sidekiq configuration file映射条目。

Periodic job功能在诸如sidekiq-scheduler之类的扩展中提供。

您需要使用在extended Sidekiq module中提供的Sidekiq中声明的类。例如,

./ worker.rb

sidekiq-scheduler

../ app / workers / accounting.rb

require 'sidekiq-scheduler'

require './app/workers/accounting'

Sidekiq.configure_client do |config|
 config.redis = {db: 1}
end

Sidekiq.configure_server do |config|
 config.redis = {db: 1}
end
© www.soinside.com 2019 - 2024. All rights reserved.