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:
Complete before/after hooks (See #76 and #77)
Override-able job rescheduling logic (See #73)
General purpose metadata store (See #75)
Refactors:
Throttling / Rate limiting has been refactored to be opt-in via decorator module (See #77)
Pavement:
The Redis backend has been (almost entirely) decoupled from the rest of Mosquito and implemented via configurable interface. (See #64) This paves the way for alternate data storage engines to be used (eg. Postgres)
Before/After hooks and the Metadata store provided a convenient way to implement several kinds of pluggable job meta-logic. See #41 for an example.
Bug fixes:
Unable to pass boolean false as a default parameter value on queued jobs
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
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: