首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sidekiq-scheduler每30秒调度一次

如何使用sidekiq-scheduler每30秒调度一次
EN

Stack Overflow用户
提问于 2016-07-27 18:21:21
回答 1查看 2.7K关注 0票数 1

我正在处理ROR应用程序。我有一个功能性需求,我必须使用sidekiq每隔30秒调用一个方法。

我正在使用这些宝石

代码语言:javascript
复制
# sidekiq
gem 'sidekiq', '~> 3.3.0'
# sidekiq scheduler
gem 'sidekiq-scheduler', '~> 2.0'

这是我的scheduler.yml文件代码。

代码语言:javascript
复制
perform:
  every: ["30s"]
  class: Aggregator
  queue: aggregation
  description: "This job will create Aggregate data."

这是我在Worker文件夹中的聚合器类。

代码语言:javascript
复制
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方法。但是聚合器类正在被调用

这是日志..

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-27 19:48:55

如果未配置非默认队列,请尝试将队列设置为默认值

代码语言:javascript
复制
queue: default
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38610225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档