上篇介绍如何监控 Sidekiq,这篇介绍如何限制每个 queue 的上限,若是 Sidekiq ENTERPRISE 可以左转离开了,本身就有提供,免另外透过第三方 Gem 处理
比方说有个 worker 负责处理影像转档 (可参考去年铁人赛文章),转档时会吃比较多资源,担心影响 server 其它服务,除了限制 CPU 使用量外,也要限制同时执行的数量,故可透过 sidekiq-limit_fetch Gem 来完成
从官方文件中得知,在需要使用的 worker 中加入 require 'sidekiq-limit_fetch'
,并在 sidekiq.yml
档案中增加 limits
即可,范例可参考此 commit
# 欲使用的 worker
require 'sidekiq-limit_fetch'
---
# config/sidekiq.yml
# 若没帮 worker queue 命名,会使用预设 default
:limits:
queue_name1: 5
queue_name2: 10
起初是为了影像转档时,想到要限制 queue(伫列) 的使用上限而使用。
後续在打 API 至第三方时,遇到会连续触发 N 个 worker (超过设定最多同时 10 个 concurrency),同时对方又回应比较慢时 (ex: 每个都数十秒甚至更长时间才回应),进而影响到其它服务,确认该 worker 不用即时处理时,便透过这个 Gem 来解决问题
铁人赛文章连结:https://ithelp.ithome.com.tw/articles/10264576
medium 文章连结:https://link.medium.com/WH74csl2Mjb
本文同步发布於 小菜的 Blog https://riverye.com/
备注:之後文章修改更新,以个人部落格为主
>>: Kotlin Android 第15天,从 0 到 ML - Android Jetpack
终於跨入第 11 天,今天要来了解在 Go 里面我很不理解的一个型别 -- Pointer。 话不多...
第十五天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知...
上一篇中我们成功取得 Workbook、WorksheetCollection 後,接着我们可以透过...
今日文章目录 事前准备 图文卡片 CSS概述 实例练习(待补充...) 图文卡片 我们时常在网页上...
Feedforward 前馈神经网路 前馈神经网路是一种neuron之间的连接并不形成循环的人工智...