gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:32:33 31 4
gpt4 key购买 nike

我正在使用 Rails 5。我想创建一个使用默认队列在本地运行的 sidekiq 进程。我的 worker 类(Class)大致如下所示......

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

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

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

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

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

最佳答案

运行 worker

bundle exec sidekiq

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

bundle exec sidekiq -r ./worker.rb

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

Periodic job功能在扩展中提供,例如 sidekiq-scheduler .

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

./worker.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

./app/workers/accounting.rb

module Accounting
# ...
end

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

def perform
puts "starting work ...\n"
end
end
end

关于cron - 如何使用默认队列在本地查看我的 sidekiq 控制台输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60710285/

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