BETAmodules.com is in beta — open to partnerships & joint ventures.Build with us

redis_dedupe

v1.0.0RubyGems· Ruby

This is a weak deduper to make things like bulk email run safer. It is not a lock safe for financial/security needs because it uses a weak redis locking pattern that can have race conditions. However, imagine a bulk email job that loops over 100 users, and enqueues a background email for each user. If the job fails at iteration 50, a retry would enqueue all the users again and many will receive dupes. This would continue multiple times as the parent job continued to rerun. By marking that a subjob has been enqueued, we can let that isolated job handle its own failures, and the batch enqueue job can run multiple times without re-enqueueing the same subjobs.

The verdict
Aging — last published 11 months ago — check before adopting. Check the repo for activity before adopting.
Check the repo for activity before adopting.
Live from the RubyGems registry · derived rules, not AI
How it scores
MaintenanceAging
PopularityNiche
SecurityClean
LicensePermissive
DepsZero deps
Maintenance
Last published 11 months ago — check before adopting.
Popularity
83 downloads / week
Security
No known advisories for this version (OSV).
License
MIT
Dependencies
No runtime dependencies
Recent releases
  • 1.0.011 months ago
  • 0.0.6over a year ago
  • 0.0.52 years ago
  • 0.0.44 years ago
  • 0.0.39 years ago
  • 0.0.211 years ago
redis_dedupe — This is a weak deduper to make things like bulk email run safer. It is not a lock safe for financial/security needs because it uses a weak redis locking pattern that can have race conditions. However, imagine a bulk email job that loops over 100 users, and enqueues a background email for each user. If the job fails at iteration 50, a retry would enqueue all the users again and many will receive dupes. This would continue multiple times as the parent job continued to rerun. By marking that a subjob has been enqueued, we can let that isolated job handle its own failures, and the batch enqueue job can run multiple times without re-enqueueing the same subjobs. (Ruby / RubyGems) · Modules