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.
- JSON logger (#62)
- fix for leaking Redis connections (#61)
- configure polling interval for scheduler (#60)
- handle persisting unforseen worker errors more gracefully (#59)
- add initial wait to scheduler startup (#60)
- limit number of jobs in given up set by number (#56)
- job duration and metadata to all task logs (#57)
- remove all related workflow keys when giving up on a job (#55)
- support redis-rb ~> 4.2 (#58)
- support for configuring custom loggers (#57)
- sync output in CLI (#49)
- support for configuring custom loggers (#50)
- improve job scheduling using jobmasks (#52)
- support for Ruby 2.7 (#46)
- define task aliases in order to reuse tasks within a workflow definition (#44)
- define anonymous workflows (#45)
0.5.1 - 2019-06-01
- fix transaction completeness in Appsignal instrumenter (#43)
0.5.0 - 2019-05-12
- wrap job execution with middleware (#38)
- use
Middleware::JobLogger
for job logging (#39) - allow Appsignal instrumentation using
Middleware::AppsignalInstrumenter
(#40)
- support for Ruby 2.3 (#41)
0.4.0 - 2019-04-07
- give up workflow before it finishes by returning
false
in any of its tasks (#25) - jobs have a JID (#30)
- Rails support (#27)
- contexts are serialized and accept basic Ruby types as values (#24)
- workflow tasks are defined using classes (#26)
- some job and Redis keys have been renamed (#28)
- job retry backoff has a random component (#32)
- missing dependencies raise a
WorkflowError
(#31) - Redis backend uses
EVALSHA
for Lua scripts (#34) - the
pool_size
configuration is inferred fromconcurrency
(#33)
- backend namespaces (#28)
0.3.0 - 2019-02-08
- shared contexts (#9)
- handle TERM and TTIN signals (#15, #17)
- configure how long failed jobs are kept (#21)
- use a single Redis connection when picking up work (#11)
- improve logging (#14)
- fix handling empty workflows and contexts (#18)
- fix encoding for msgpack serializer (#19)
- malformed jobs are given up rather than discarded (#22)
- support for Ruby 2.1 & 2.2 (#13)
0.2.0 - 2018-10-02
- msgpack serializer (#5)
- Pallets' inception <3