Provides Wisper with asynchronous event publishing using Sidekiq.
gem 'wisper-sidekiq'
publisher.subscribe(MyListener, async: true)
The listener must be a class (or module), not an object. This is because Sidekiq can not reconstruct the state of an object. However a class is easily reconstructed.
When publshing events the arguments must be simple as they need to be
serialized. For example instead of sending an ActiveRecord
model as an argument
use its id instead.
See the Sidekiq best practices for more information.
The same Ruby versions as Sidekiq are offically supported, but it should work with any 2.x syntax Ruby including JRuby and Rubinius.
See the build status for details.
To run sidekiq use scripts/sidekiq
. This wraps sidekiq in rerun
which will restart sidekiq when specs/dummy_app
changes.