首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >塞德基克在生产中连续运行

塞德基克在生产中连续运行
EN

Stack Overflow用户
提问于 2014-09-24 07:42:48
回答 1查看 282关注 0票数 1

在开发中,它按照我的预期运行,它有5个线程(目前由于redis连接限制而受到限制)它平均运行5-7个进程,这取决于工作人员是否需要做任何事情(有时工作人员会决定不工作,因为它正在处理的对象在几天前就更新了)。

在生产上,它的行为不同。它似乎要连续运行大约400次,然后立即重新安排工人的时间,等待一会儿,然后再发射一次爆发点。

工作人员使用facebook api (koala gem),为此,我使用了https://github.com/gevans/sidekiq-throttler(侧翼节流器)。

有了选择

代码语言:javascript
复制
sidekiq_options throttle: { threshold: 50, period: 60.seconds , key: ->(user_id){ "facebook:#{user_id}"}  }

我正在使用heroku和redislabs (目前的免费计划)和procfile。

代码语言:javascript
复制
web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -c 5

和侧翼设置:

代码语言:javascript
复制
Sidekiq.configure_server do |config|
  config.redis = { :url => "#{ENV['REDISCLOUD_URL']}", :namespace => 'sidekiq'}
  config.server_middleware do |chain|
    chain.add Sidekiq::Throttler, storage: :redis
  end
end

Sidekiq.configure_client do |config|
  config.redis = { :url => "#{ENV['REDISCLOUD_URL']}", :namespace => 'sidekiq' }
end

这是某种已知的症状吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 15:25:15

看上去像预期的那样被勒死了。

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

https://stackoverflow.com/questions/26011269

复制
相关文章

相似问题

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