README.md in reactor-0.15.1 vs README.md in reactor-0.16.0
- old
+ new
@@ -232,13 +232,38 @@
end
```
for your testing convenience.
+
+### Production Deployments
+
+TLDR; Everything is a Sidekiq::Job, so all the same gotchas apply with regard to removing & renaming jobs that may have a live reference sitting in the queue. (AKA, you'll start seeing 'const undefined' exceptions when the job gets picked up if you've already deleted/renamed the job code.)
+
+#### Adding Events and Subscribers
+
+This is as easy as write + deploy. Of course your events getting fired won't have a subscriber pick them up until the new subscriber code is deployed in your sidekiq instances, but that's not too surprising.
+
+#### Removing Events and Subscribers
+
+Removing an event is as simple as deleting the line of code that `publish`es it.
+Removing a subscriber requires awareness of basic Sidekiq principles.
+
+**Is the subscriber that you're deleting virtually guaranteed to have a worker for it sitting in the queue when your deletion is deployed?**
+
+If yes -> deprecate your subscriber first to ensure there are no references left in Redis. This will prevent Reactor from enqueuing more workers for it and make it safe for you delete in a secondry deploy.
+```
+on_event :high_frequency_event, :do_something, deprecated: true
+```
+
+If no -> you can probably just delete the subscriber.
+In the worst case scenario, you get some background exceptions for a job you didn't intend to have run anyway. Pick your poison.
+
+
## Contributing
1. Fork it
-2. Create your feature branch (`git checkout -b my-new-feature`)
+2. Create your feature/fix branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
For testing Reactor itself we use Thoughtbot's [appraisal gem](https://github.com/thoughtbot/appraisal). This lets us test against multiple versions of Sidekiq, Rails, etc. To install appraisal and set up multiple dependencies, do the following: