Module: SidekiqUniqueJobs::Digests
- Extended by:
- Digests
- Includes:
- Connection, Logging
- Included in:
- Digests
- Defined in:
- lib/sidekiq_unique_jobs/digests.rb
Overview
Utility module to help manage unique digests in redis.
Constant Summary collapse
- DEFAULT_COUNT =
1_000- SCAN_PATTERN =
'*'- CHUNK_SIZE =
100
Instance Method Summary collapse
-
#all(pattern: SCAN_PATTERN, count: DEFAULT_COUNT) ⇒ Array<String>
Return unique digests matching pattern.
-
#count ⇒ Integer
Get a total count of unique digests.
-
#del(digest: nil, pattern: nil, count: DEFAULT_COUNT) ⇒ Array<String>
Deletes unique digest either by a digest or pattern.
Methods included from Connection
Methods included from Logging
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
Instance Method Details
#all(pattern: SCAN_PATTERN, count: DEFAULT_COUNT) ⇒ Array<String>
Return unique digests matching pattern
21 22 23 |
# File 'lib/sidekiq_unique_jobs/digests.rb', line 21 def all(pattern: SCAN_PATTERN, count: DEFAULT_COUNT) redis { |conn| conn.sscan_each(UNIQUE_SET, match: pattern, count: count).to_a } end |
#count ⇒ Integer
Get a total count of unique digests
28 29 30 |
# File 'lib/sidekiq_unique_jobs/digests.rb', line 28 def count redis { |conn| conn.scard(UNIQUE_SET) } end |
#del(digest: nil, pattern: nil, count: DEFAULT_COUNT) ⇒ Array<String>
Deletes unique digest either by a digest or pattern
39 40 41 42 43 44 |
# File 'lib/sidekiq_unique_jobs/digests.rb', line 39 def del(digest: nil, pattern: nil, count: DEFAULT_COUNT) return delete_by_pattern(pattern, count: count) if pattern return delete_by_digest(digest) if digest raise ArgumentError, 'either digest or pattern need to be provided' end |