【发布时间】:2016-07-27 10:21:20
【问题描述】:
我正在处理 ROR 申请。 我有一个功能要求,我必须调用一个方法 每 30 秒使用 sidekiq
我正在使用这些宝石
# sidekiq
gem 'sidekiq', '~> 3.3.0'
# sidekiq scheduler
gem 'sidekiq-scheduler', '~> 2.0'
这是我的 scheduler.yml 文件代码。
perform:
every: ["30s"]
class: Aggregator
queue: aggregation
description: "This job will create Aggregate data."
这是我在 Workers 文件夹中的聚合器类。
class Aggregator
include Sidekiq::Worker
sidekiq_options :backtrace => 5, :retry => false
def perform
end_time = time - (time.sec%30).seconds
puts "ROUNDING TO 30 SEC"
puts end_time
Session.create_aggregate_data(end_time)
end
end
当我检查 sidekiq 日志时,它没有命中 perform 方法。但是聚合器类被调用了
这里是日志..
2016-07-27T10:19:59.436Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:20:29.641Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:20:59.836Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:21:30.009Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:22:00.204Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:22:30.507Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:23:00.509Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:23:30.760Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
2016-07-27T10:24:01.068Z 15117 TID-1qjnlu INFO: queueing Aggregator (perform)
【问题讨论】:
-
所以作业正在排队,但它们没有被处理。愚蠢的问题:你开始使用sidekiq了吗?
bundle exec sidekiq? -
感谢您的回复.. @MrWillihog。当我运行“sidekiq”命令时,这些日志即将到来
标签: ruby-on-rails scheduler sidekiq ruby-on-rails-4.1