首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sidetiq无法在Rails 5.0升级后工作

Sidetiq无法在Rails 5.0升级后工作
EN

Stack Overflow用户
提问于 2017-03-08 00:25:08
回答 1查看 384关注 0票数 0

我正在将rails应用程序从Rails 4.2 / ruby 2.2.2迁移到Rails 5/ruby2.4。我遇到的大多数“问题”都很容易解决,但这一点让我有点困惑。

我通过Redis / Sidekiq / Sidetiq向工作人员发送了许多重复作业。它曾经工作得很好。现在,当我启动Sidekiq时,我的循环worker作业似乎没有被“加载”,所以基本上它们不会被排队或执行。这通常是在我启动Sidekiq后自动发生的,但现在我可能需要先显式实例化这些worker类?如果我手动执行并延迟(例如,perform_in 1秒)递归工作者类一次,那么这个类就会按照它应该执行的递归调度开始执行。在我手动执行这个"perform_in 1秒“作业后,我确实在Sidekiq中出现了错误,但我觉得这不是问题所在:

/.rvm/gems/ruby-2.4.0@rails5.0/gems/ice_cube-0.14.0/lib/ice_cube/validations/minute_of_hour.rb:7:警告: constant ::Fixnum已弃用

/.rvm/gems/ruby-2.4.0@rails5.0/gems/ice_cube-0.14.0/lib/ice_cube/validations/hour_of_day.rb:8:警告: constant ::Fixnum已弃用

/.rvm/gems/ruby-2.4.0@rails5.0/gems/ice_cube-0.14.0/lib/ice_cube/validations/day.rb:9:警告: constant ::Fixnum已弃用

下面是我的循环作业类:

代码语言:javascript
复制
class RecurringWorker
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    recurrence do
        weekly.minute_of_hour(0, 15, 30, 45).hour_of_day(10, 11, 12, 13, 14, 15, 16, 17).day(1, 2, 3, 4, 5)
    end

    def perform
        # Some Code
    end
end

我的初始化器:

代码语言:javascript
复制
Sidetiq.configure do |config|
    # Clock resolution in seconds (default: 1).
    config.resolution = 1

    # Clock locking key expiration in ms (default: 1000).
    config.lock_expire = 100

    # When `true` uses UTC instead of local times (default: false).
    config.utc = false

    # Scheduling handler pool size (default: number of CPUs as
    # determined by Celluloid).
    config.handler_pool_size = 5

    # History stored for each worker (default: 50).
    config.worker_history = 50
end

所有gem依赖项似乎都是在最近的版本中安装的。

EN

回答 1

Stack Overflow用户

发布于 2017-03-16 02:41:49

Sidekiq 5测试版已经发布,应该可以与Rails 5很好地协同工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42653295

复制
相关文章

相似问题

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