Group :: Development/Ruby
RPM: gem-gitlab-sidekiq-fetcher
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Current version: 0.8.0-alt1
Build date: 21 april 2022, 07:46 ( 105.5 weeks ago )
Size: 18.82 Kb
Home page: https://gitlab.com/gitlab-org/sidekiq-reliable-f…
License: LGPL-3.0
Summary: Redis reliable queue pattern implemented in Sidekiq
Description:
List of contributors List of rpms provided by this srpm:
ACL:
Build date: 21 april 2022, 07:46 ( 105.5 weeks ago )
Size: 18.82 Kb
Home page: https://gitlab.com/gitlab-org/sidekiq-reliable-f…
License: LGPL-3.0
Summary: Redis reliable queue pattern implemented in Sidekiq
Description:
gitlab-sidekiq-fetcher is an extension to Sidekiq that adds support for reliable
fetches from Redis.
It's based on https://github.com/TEA-ebook/sidekiq-reliable-fe….
There are two strategies implemented: Reliable fetch using rpoplpush command and
semi-reliable fetch that uses regular brpop and lpush to pick the job and put it
to working queue. The main benefit of "Reliable" strategy is that rpoplpush is
atomic, eliminating a race condition in which jobs can be lost. However, it
comes at a cost because rpoplpush can't watch multiple lists at the same time so
we need to iterate over the entire queue list which significantly increases
pressure on Redis when there are more than a few queues. The "semi-reliable"
strategy is much more reliable than the default Sidekiq fetcher, though.
Compared to the reliable fetch strategy, it does not increase pressure on Redis
significantly.
Current maintainer: Ruby Maintainers Team fetches from Redis.
It's based on https://github.com/TEA-ebook/sidekiq-reliable-fe….
There are two strategies implemented: Reliable fetch using rpoplpush command and
semi-reliable fetch that uses regular brpop and lpush to pick the job and put it
to working queue. The main benefit of "Reliable" strategy is that rpoplpush is
atomic, eliminating a race condition in which jobs can be lost. However, it
comes at a cost because rpoplpush can't watch multiple lists at the same time so
we need to iterate over the entire queue list which significantly increases
pressure on Redis when there are more than a few queues. The "semi-reliable"
strategy is much more reliable than the default Sidekiq fetcher, though.
Compared to the reliable fetch strategy, it does not increase pressure on Redis
significantly.
List of contributors List of rpms provided by this srpm:
- gem-gitlab-sidekiq-fetcher
- gem-gitlab-sidekiq-fetcher-doc
- gem-gitlab-sidekiq-fetcher-devel