oban v0.6.0 Release Notes
Release Date: 2019-07-26 // almost 5 years ago-
โ Added
๐ฒ [Oban.Query] Added
:verbose
option to control general query logging. This allowsdebug
query activity within Oban to be silenced during testing and development.โ [Oban.Testing] Added
all_enqueued/1
helper for testing. The helper returns a list of jobs matching the provided criteria. This makes it possible to test using pattern matching, which is more flexible than a literal match within the database.
๐ Changed
[Oban.Config] All passed options are validated. Any unknown options will raise an
ArgumentError
and halt startup. This prevents misconfiguration through typos and passing unsupported options.๐ท [Oban.Worker] The
perform/1
function now receives anOban.Job
struct as the sole argument, callingperform/1
again with only theargs
map if no clause catches the struct. This allows workers to use any attribute of the job to customize behaviour, e.g. the number of attempts or when a job was inserted into the database.
The implementation is entirely backward compatible, provided workers are defined with the
use
macro. Workers that implement theOban.Worker
behaviour manually will need to change the signature ofperform/1
to accept a job struct.- [Oban] Child process names are generated from the top level supervisor's name,
i.e. setting the name to "MyOban" on
start_link/1
will set the notifier's name toMyOban.Notifier
. This improves isolation and allows multiple supervisors to be ran on the same node.
๐ Fixed
- ๐ [Oban.Producer] Remove duplicate polling timers. As part of a botched merge conflict resolution two timers were started for each producer.