Fix issue #82, a performance bug with publishes at: :updated_at
style
ActiveRecord publishers
Update Rails Dependency
Cleanup of old deprecated methods, general overhauls
publishes
method in publishable now accepts :enqueue_if
option
Subscribers can now deprecate themselves for safe removal from production deployments. ...
Correctly handles exceptions in with_subscriber_enabled
Fix unicode encoding protection to allow valid multi-byte unicode characters
Use __data__
as the internal data hash. THIS MAY BE A BREAKING CHANGE.
If someone wants to use the key data
for their event attributes, it would get confused with the internal event data. The internal event data is now called __data__
.
Some users of this library access event.data directly. This is a breaking change for them.
Fixes an issue related to class reloading in Rails development and test modes
Safely handle bad UTF-8 encoded strings passed in as event arguments
Bug fix for namespaced Subscribable objects
Static Subscriber class names have changed to be more deterministic. THIS MAY BE A BREAKING CHANGE. See https://github.com/hired/reactor/issues/40 for background info.
Previously, when you added an on_event :foo
block to an object, say MyObject
, Reactor would dynamically generate a Sidekiq worker class named Reactor::StaticSubscribers::FooHandler0
.
In 0.11.0, the naming of this dynamically generated worker class has changed to Reactor::StaticSubscribers::MyObject::FooHandler
.
If you require more than one on_event
block for the same event, you must name the handler so that it is unique and deterministic: i.e. on_event :foo, handler_name: :do_better
otherwise an exception will be raised at load time.
This example would generate a Reactor::StaticSubscribers::MyObject::DoBetter
class for the worker.
Because the worker class names are changing, when deploying this change it's important that your Sidekiq queue not have any pending jobs with the old naming scheme, otherwise they will fail to deserialize!