All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- BREAKING CHANGE Gush now uses ActiveJob instead of directly Sidekiq, this allows programmers to use multiple backends, instead of just one. Including in-process or even synchronous backends. See http://guides.rubyonrails.org/active_job_basics.html
- Fix graph rendering with
gush viz
command. Sometimes it rendered the last job detached from others, because it was using a class name instead of job name as ID. - Fix performance problems with unserializing jobs. This greatly increased performance by avoiding redundant calls to Redis storage. Should help a lot with huge workflows spawning thousands of jobs. Previously each job loaded whole workflow instance when executed.
- BREAKING CHANGE
Gushfile.rb
is now renamed toGushfile
- BREAKING CHANGE Internal code for reporting status via Redis pub/sub has been removed, since it wasn't used for a long time.
- BREAKING CHANGE jobs are expected to have a
perform
method instead ofwork
like in < 1.0.0 versions. - BREAKING CHANGE
payloads
method available inside jobs is now an array of hashes, instead of a hash, this allows for a more flexible approach to reusing a single job in many situations. Previously payloads were grouped by predecessor's class name, so you were forced to hardcode that class name in its descendants' code.
gush workers
command is now removed. This is now up to the developer to start background processes depending on chosen ActiveJob adapter.environment
was removed since it was no longer needed (it was Sidekiq specific)
- remove hard dependency on Yajl, so Gush can work with non-MRI Rubies (#31 by Nick Rakochy)