mosquito-cr / mosquito

A background task runner for crystal applications supporting periodic (CRON) and manually queued jobs
MIT License
227 stars 24 forks source link

V2 RFC #82

Closed robacarp closed 2 years ago

robacarp commented 2 years ago

The V2 milestone for mosquito has arrived!

The second major version (v1.0) arrives with a few features, a few refactors, and some pavement for big future features. A few latent bugs have been fixed as well.

Features:

Refactors:

Pavement:

Bug fixes:


This release is specified as the first major version increment. The updates to the throttling code are technically a backwards incompatible change, but moreover the broad sweeping changes to the redis backend code will introduce risk for anyone upgrading.

For anyone using throttling code, the upgrade process looks like this:

class MyThrottledJob < Mosquito::QueuedJob
+ include Mosquito::RateLimiter
  params message : String
- throttle limit: 5, period: 60
- throttle limit: 5, per: 1.minute

  def perform
    puts message
  end
end