10.13 2020-07-30
- Added EXPERIMENTAL support for lax dependencies.
- Added EXPERIMENTAL lax option to enqueue method in Minion, Minion::Backend and Minion::Backend::Pg.
- Removed experimental status from notes option in Minion::Backend and Minion::Backend::Pg.
- Added lax field to list_jobs method in Minion::Backend::Pg.
- Added is_locked method to Minion.
- Added auto_retry_job method to Minion::Backend.
- Added parents method to Minion::Job.
- Added -x option to job command.
- Fixed a bug in Minion::Backend::Pg where manual retries would count towards the attempts limit for automatic
retries.
10.12 2020-07-25
- Added EXPERIMENTAL support for expiring jobs.
- Removed experimental support for job sequences again since use cases turned out to be weaker than expected.
- Added EXPERIMENTAL expire option to enqueue method in Minion, Minion::Backend and Minion::Backend::Pg.
- Added expires field to list_jobs method in Minion::Backend::Pg.
- Added -E option to job command.
10.11 2020-07-21
- Improved adming ui with more icons.
10.10 2020-07-11
- Added stuck_after attribute to Minion.
- Improved repair method in Minion::Backend::Pg to detect stuck jobs and transtion them to the failed state after 2
days of inactivity.
10.09 2020-07-09
- Added EXPERIMENTAL support for job sequences.
- Added EXPERIMENTAL sequence option to enqueue method in Minion, Minion::Backend and Minion::Backend::Pg.
- Added EXPERIMENTAL sequences option to list_jobs method in Minion::Backend and Minion::Backend::Pg.
- Added next and previous fields to list_jobs method in Minion::Backend::Pg.
- Added -Q option to job command.
- Improved admin ui to allow navigating job sequences.
10.08 2020-06-17
- Improved Minion::Job to record exit code and the signal a job died from, if it was terminated unexpectedly.
10.07 2020-06-16
- Removed experimental status from Minion::Iterator module.
- Removed experimental status from jobs and workers methods in Minion.
- Removed experimental status from before options of list_jobs and list_workers methods in Minion::Backend and
Minion::Backend::Pg.
- Updated project metadata.
- Improved admin ui to allow sending TERM signals.
- Fixed a bug in Minion::Job where CHLD, INT, TERM and QUIT signals would be ignored by job processes.
10.06 2020-06-01
- Added EXPERIMENTAL support for custom task classes.
- Added EXPERIMENTAL class_for_task method to Minion.
- Added EXPERIMENTAL run method to Minion::Job.
- Added -T option to job command.
10.05 2020-05-30
- Improved .perltidyrc with more modern settings.
- Fixed result_p promise leak in Minion.
10.04 2020-01-30
- Added EXPERIMENTAL total method to Minion::Iterator.
10.03 2020-01-29
- Added EXPERIMENTAL Minion::Iterator module.
- Added EXPERIMENTAL jobs and workers methods to Minion.
- Added EXPERIMENTAL before options to list_jobs and list_workers methods in Minion::Backend and Minion::Backend::Pg.
10.02 2019-12-20
- Fixed QUIT signal in Minion::Worker.
- Fixed stop remote control command.
- Fixed a problem where Minion::Worker was unable to deal with immediately restarted jobs.
10.01 2019-12-16
- Fixed an unlock concurrency issue in Minion::Backend::Pg. (andrii-suse)
10.0 2019-11-15
- Removed PostgreSQL migrations older than 2 years, that means you need to have Minion version 7.01 or newer installed
before you can upgrade to version 10.0.
- Removed experimental status from result_p method in Minion.
- Removed experimental status from history method in Minion and Minion::Backend::Pg.
- Removed experimental status from delayed_jobs and enqueued_jobs fields from stats methods in Minion and
Minion::Backend::Pg.
- Removed experimental status from cleanup and finish events in Minion::Job.
- Changed reset method in Minion and Minion::Backend::Pg to require options for what to reset.
- Improved reset method in Minion and Minion::Backend::Pg to allow for locks to be reset without resetting the whole
queue.
- Improved performance by making the minion_workers table unlogged.
9.13 2019-08-29
- Added EXPERIMENTAL cleanup event to Minion::Job.
9.12 2019-08-04
- Added EXPERIMENTAL notes option to list_jobs method in Minion::Backend and Minion::Backend::Pg.
- Added -n option to job command.
- Improved note methods in Minion::Job, Minion::Backend and Minion::Backend::Pg to allow for fields to be removed.
9.11 2019-07-08
- Added time field to list_jobs method in Minion::Backend::Pg.
- Added time field to info method in Minion::Job.
- Improved admin ui to show the current runtime for every job, as well as the current delay for delayed jobs.
- Improved Minion::Backend::Pg to ignore missing workers for jobs in the minion_foreground named queue and make
debugging very slow jobs easier.
9.10 2019-05-09
- Fixed a few query parameter bugs in the admin ui. (fskale, sri)
9.09 2019-02-03
- Changed result_p method in Minion to pass along the whole job info hash instead of just the job result.
9.08 2019-02-01
- Added EXPERIMENTAL result_p method to Minion.
9.07 2018-10-18
- Improved various attributes to use new Mojolicious 8.03 features to avoid memory leaks.
9.06 2018-09-22
- Added support for controlling job processes by installing signal handlers for INT, USR1 and USR2 in tasks.
- Added kill method to Minion::Job.
- Improved worker command with support for kill remote control command.
- Improved admin ui with a new menu to send signals to job processes.
9.05 2018-09-18
- Fixed screenshot in documentation.
9.04 2018-09-15
- Updated project metadata.
9.03 2018-04-19
- Removed hour value from daily history data.
- Improved 24 hour history graph on Mojolicious::Plugin::Minion::Admin dashboard to use the local time, consistent
with the real-time graph.
9.02 2018-04-18
- Changed 24 hour history graph on Mojolicious::Plugin::Minion::Admin dashboard to refresh in 10 minute intervals.
- Changed daily history data to include an epoch value instead of a day.
- Fixed a few ordering bugs in history methods.
9.01 2018-04-17
- Improved 24 hour history graph to refresh automatically every 5 minutes in Mojolicious::Plugin::Minion::Admin.
(s1037989)
9.0 2018-04-15
- Replaced queue, state and task options of list_jobs method in Minion::Backend::Pg with queues, states and tasks
options.
- Replaced name option of list_locks method in Minion::Backend::Pg with names option.
- Replaced key/value argument of note method in Minion::Backend::Pg with a hash reference.
- Added EXPERIMENTAL support for displaying a 24 hour history graph on the Mojolicious::Plugin::Minion::Admin
dashboard.
- Added EXPERIMENTAL finish event to Minion::Job.
- Added EXPERIMENTAL history methods to Minion and Minion::Backend::Pg.
- Added execute method to Minion::Job.
- Added -H option to job command.
- Improved note method in Minion::Job to allow for multiple metadata fields to be changed at once.
- Fixed a bug where the job command could remove all parents from retried jobs.
- Fixed filtering of jobs by queue and state in Mojolicious::Plugin::Minion::Admin.
8.12 2018-03-07
- Added parents option to retry and retry_job methods in Minion::Job and Minion::Backend::Pg. (CandyAngel)
8.11 2018-02-28
- Fixed worker page links in Mojolicious::Plugin::Minion::Admin.
8.10 2018-02-18
- Improved Mojolicious::Plugin::Minion::Admin to use less distracting colors.
- Fixed a bug in Mojolicious::Plugin::Minion::Admin where job results containing very long strings could not be
displayed properly.
8.09 2018-01-25
- Converted Mojolicious::Plugin::Minion::Admin to Bootstrap 4.
8.08 2017-12-15
- Added busy and wait events to Minion::Worker.
- Added dequeue_timeout option to run method in Minion::Worker.
- Added -D option to worker command.
8.07 2017-12-11
- Fixed guard method in Minion not to release already expired locks.
8.06 2017-12-11
- Added active_locks field to stats methods in Minion, Minion::Backend and Minion::Backend::Pg again.
- Improved Mojolicious::Plugin::Minion::Admin with support for locks.
8.05 2017-12-10
- Removed active_locks field from stats methods again since it did not work correctly and there is no efficient way to
fix it.
- Fixed list_locks method in Minion::Backend::Pg to exclude already expired locks.
8.04 2017-12-08
- Added list_locks method to Minion::Backend and Minion::Backend::Pg.
- Added -L and -U options to job command.
- Added active_locks field to stats methods in Minion, Minion::Backend and Minion::Backend::Pg.
- Updated Font Awesome to version 5.
- Improved Minion::Job to clear signal handlers in job processes.
- Fixed a bug in Mojolicious::Plugin::Minion::Admin where filtering jobs by task or queue would not reset the offset.
8.03 2017-11-21
- Removed -f option from worker command.
- Added broadcast method to Minion.
- Added run method to Minion::Worker.
8.02 2017-11-19
- Improved admin ui with alerts for job management.
8.01 2017-11-18
- Fixed installation problems with some versions of Perl on Windows.
8.0 2017-11-16
- Removed job_info and worker_info methods from Minion::Backend and Minion::Backend::Pg.
- Changed return value of list_jobs and list_workers methods in Minion::Backend and Minion::Backend::Pg.
- Added new module Mojolicious::Plugin::Minion::Admin.
- Added ids option to list_jobs and list_workers methods in Minion::Backend and Minion::Backend::Pg.
- Added uptime field to stats methods in Minion, Minion::Backend and Minion::Backend::Pg.
7.09 2017-10-20
- Fixed a deadlock problem in Minion::Backend::Pg where jobs could fail if two processes tried to acquire the same
lock at the same time.
7.08 2017-10-18
- Fixed a bug in the worker command where processing jobs could be delayed significantly after a system restart.
(rgci)
7.07 2017-10-11
- Added reap event to Minion::Job.
7.06 2017-09-21
- Added guard method to Minion.
7.05 2017-08-07
- Improved foreground method in Minion to rethrow job exceptions.
7.04 2017-08-01
- Added foreground method to Minion.
- Added id option to dequeue methods in Minion::Worker and Minion::Backend::Pg.
- Added attempts option to retry and retry_job methods in Minion::Job and Minion::Backend::Pg.
- Added -f option to job command.
7.03 2017-07-06
- Updated Mojo::Pg requirement to 4.0.
- Improved Minion::Backend::Pg to support sharing the database connection cache with existing Mojo::Pg objects.
7.02 2017-07-05
- Improved performance of worker command when processing jobs that are finished very quickly.
7.01 2017-06-25
- Added note methods to Minion::Job and Minion::Backend::Pg.
- Added notes option to enqueue methods in Minion and Minion::Backend::Pg.
- Added notes field to info method in Minion::Job and job_info method in Minion::Backend::Pg.
- Improved performance of stats and lock methods in Minion::Backend::Pg with a new index and other optimizations.
(depesz)
- Improved benchmark script to be more consistent. (depesz)
7.0 2017-06-18
- Added support for rate limiting and unique jobs.
- Added lock and unlock methods to Minion and Minion::Backend::Pg.
- Improved performance of Minion::Backend::Pg significantly with a new index and other optimizations.
6.06 2017-06-03
- Added an example application to demonstrate how to integrate background jobs into well-structured Mojolicious
applications.
6.05 2017-04-03
- Added support for sharing worker status information.
- Improved retry methods to allow for active jobs to be retried as well.
- Improved job command to show timestamps in RFC 3339 (1994-11-06T08:49:37Z) format.
6.04 2017-03-18
- Added -f option to worker command.
- Removed -r option from job command, so you have to write --remove from now on, which should prevent accidental
mixups with the -R option in the future.
6.03 2017-03-14
- Fixed serious performance problems in Minion::Backend::Pg.
6.02 2017-01-02
- Updated Mojo::Pg requirement to 2.18.
6.01 2017-01-01
- Updated Mojo::Pg requirement to 2.33.
- Improved performance of Minion::Backend::Pg with a new index.
6.0 2016-09-17
- Removed TTIN, TTOU and USR1 signals from worker command.
- Changed return value of start method in Minion::Job.
- Added support for worker remote control commands.
- Added commands attribute to Minion::Worker.
- Added add_command and process_commands methods to Minion::Worker.
- Added pid and stop methods to Minion::Job.
- Added broadcast and receive methods to Minion::Backend::Pg.
- Added -b option to job command.
- Improved worker command with support for jobs and stop remote control commands.
5.09 2016-08-31
- Added EXPERIMENTAL enqueued_jobs field to stats methods in Minion and Minion::Backend::Pg.
- Improved Minion::Backend::Pg performance slightly with a new index.
5.08 2016-05-20
- Improved repair methods not to remove finished jobs with unresolved dependencies.
5.07 2016-05-17
- Added support for job dependencies. (jberger, sri)
- Added parents option to enqueue methods in Minion and Minion::Backend::Pg. (jberger, sri)
- Added children and parents fields to info method in Minion::Job and job_info method in Minion::Backend::Pg.
- Added -P option to job command.
- Improved stats methods to include jobs with unresolved dependencies in delayed_jobs count.
5.06 2016-05-05
- Improved worker command to support the TTIN, TTOU and USR1 signals.
- Improved Minion::Backend::Pg to handle delayed and retried jobs more efficiently.
5.05 2016-04-20
- Added queue option to list_jobs method in Minion::Backend::Pg.
- Improved performance of stats method in Minion::Backend::Pg slightly.
5.04 2016-04-19
- Added EXPERIMENTAL delayed_jobs field to stats methods in Minion and Minion::Backend::Pg.
- Updated Mojo::Pg requirement to 2.18.
- Improved job command to show more detailed information for jobs and workers.
5.03 2016-04-10
- Added enqueue event to Minion. (jberger)
5.02 2016-03-23
- Fixed copyright notice.
5.01 2016-02-24
- Fixed worker command to repair in regular intervals.
5.0 2016-02-17
- Minion::Backend::Pg now requires PostgreSQL 9.5.
- Added start event to Minion::Job.
- Added -R option to worker command.
- Reduced default missing_after value to 30 minutes.
- Reduced default remove_after value to 2 days.
- Improved Minion::Backend::Pg performance significantly with a new index and PostgreSQL 9.5 features.
- Improved Minion::Job to capture more exceptions.
- Improved worker command to support the QUIT signal.
- Improved worker command to repair in less regular intervals.
4.06 2016-02-06
- Improved performance of Minion::Backend::Pg slightly.
4.05 2016-02-05
- Improved Minion::Backend::Pg to check the PostgreSQL version.
4.04 2016-01-23
- Updated Minion::Backend::Pg to use new Mojo::Pg features.
4.03 2016-01-17
- Removed an unused index from Minion::Backend::Pg.
- Fixed a bug where the worker command would always watch the default queue. (avkhozov)
4.02 2016-01-03
- Updated links to Mojolicious website.
4.01 2015-11-12
- Improved retry methods to allow options to be changed for already inactive jobs.
4.0 2015-11-09
- Removed attempts attribute from Minion::Job.
- Improved Minion::Backend::Pg to preserve more information across retries for debugging.
- Fixed bug where jobs could not be retried automatically if a worker went away.
3.03 2015-11-08
- Added queues option to perform_jobs method in Minion.
3.02 2015-10-31
- Fixed portability issues in tests.
3.01 2015-10-30
- Added support for retrying failed jobs automatically.
- Added backoff attribute to Minion.
- Added attempts attribute to Minion::Job.
- Added attempts option to enqueue methods in Minion and Minion::Backend::Pg.
- Added -A option to job command.
3.0 2015-10-30
- Removed Minion::Backend::File, because DBM::Deep quickly becomes unusably slow, you can use the CPAN module
Minion::Backend::SQLite instead.
2.05 2015-10-15
- Fixed bug where jobs could sometimes not be finished correctly by the worker command.
2.04 2015-10-14
- Fixed portability issue in worker command.
2.03 2015-10-09
- Improved commands to show all options that can affect their behavior.
2.02 2015-10-08
- Improved job command to show the queue in job lists.
2.01 2015-10-02
- Fixed Windows portability issues in tests.
2.0 2015-10-01
- Removed -t option from worker command.
- Added support for multiple named queues.
- Added retries attribute to Minion::Job.
- Added retries argument to fail_job, finish_job and retry_job methods in Minion::Backend::File and
Minion::Backend::Pg.
- Added queue option to enqueue method in Minion.
- Added queue option to enqueue and retry_job methods in Minion::Backend::File and Minion::Backend::Pg.
- Added queues option to dequeue methods in Minion::Worker, Minion::Backend::File and Minion::Backend::Pg.
- Added -q option to job and worker commands.
- Improved worker command to be more resilient to time jumps.
- Fixed a race condition in Minion::Backend::File and Minion::Backend::Pg where a retried job did not have to be
dequeued again before it could be finished.
1.19 2015-09-28
- Added support for retrying jobs with a new priority.
- Added priority option to retry method in Minion::Job.
- Added priority option to retry_job methods in Minion::Backend::File and Minion::Backend::Pg.
1.18 2015-08-30
- Fixed Makefile.PL to be compliant with version 2 of the CPAN distribution metadata specification.
1.17 2015-08-29
- Fixed bug in worker command where new jobs would still be dequeued after receiving an INT/TERM signal.
1.16 2015-08-28
- Improved worker command to detect workers without heartbeat a little faster.
1.15 2015-05-15
- Added support for retrying jobs with a delay. (kwa)
- Added delay option to retry method in Minion::Job. (kwa)
- Added delay option to retry_job methods in Minion::Backend::File and Minion::Backend::Pg. (kwa)
1.14 2015-04-21
- Improved performance of Minion::Backend::Pg with a new index. (avkhozov)
1.13 2015-03-25
- Improved Minion::Backend::Pg to reset the job queue a little faster.
1.12 2015-03-17
- Improved portability of some tests.
1.11 2015-03-10
- Fixed tests to work without Mojo::Pg.
1.10 2015-03-09
- Added support for performing multiple jobs concurrently with a single worker. (bpmedley, sri)
- Added is_finished and start methods to Minion::Job. (bpmedley, sri)
- Added -j option to worker command. (bpmedley, sri)
- Fixed concurrency bugs in Minion::Backend::File.
- Fixed bug in job command where timing information was not displayed correctly.
1.09 2015-03-02
- Added support for monitoring workers with heartbeats instead of signals.
- Added missing_after attribute to Minion.
- Added -I option to worker command.
- Fixed bug where workers were considered active even if they had no active jobs assigned.
1.08 2015-02-20
- Updated for Mojolicious 5.81.
1.07 2015-02-12
- Updated Minion::Backend::Pg for Mojo::Pg 1.08.
1.06 2015-01-26
- Improved commands to use less punctuation.
1.05 2015-01-05
- Improved repair methods in Minion::Backend::File and Minion::Backend::Pg to mention the current process in results
of failed jobs.
1.04 2015-01-03
- Improved Minion::Backend::Pg to use new JSON features of Mojo::Pg.
1.03 2014-12-19
- Added -t option to worker command.
1.02 2014-11-22
- Renamed -L and -T options to -l and -S.
- Improved job command table formatting.
1.01 2014-11-20
- Improved documentation.
1.0 2014-11-19
- Removed experimental status from distribution.
0.45 2014-11-18
- Improved dequeue performance in Minion::Backend::Pg significantly. (bpmedley)
0.44 2014-11-17
- Fixed bug where jobs could not be dequeued inside a running event loop.
0.43 2014-11-17
- Fixed bug where advisory locks would run out of shared memory.
0.42 2014-11-16
- Improved Minion::Backend::Pg performance with advisory locks and notifications. (bpmedley, sri)
0.41 2014-11-15
- Improved Minion::Backend::Pg performance.
0.40 2014-11-11
- Added PostgreSQL support with Mojo::Pg. (bpmedley, sri)
- Added support for job results.
- Added Minion::Backend::Pg. (bpmedley, sri)
0.39 2014-10-05
- Added DBM::Deep support to Minion::Backend::File.
- Renamed -S option to -o.
0.38 2014-10-04
- Removed support for non-blocking enqueue.
- Removed Minion::Backend::Mango.
0.37 2014-09-22
- Fixed packaging bug.
0.36 2014-09-21
- Updated Makefile.PL for version 2 of the CPAN distribution metadata specification.
0.35 2014-09-06
- Improved Minion::Backend::File to write less often.
0.34 2014-08-26
- Improved job command to show higher precision times.
0.33 2014-07-10
- Replaced state argument of list_jobs methods in Minion::Backend::File and Minion::Backend::Mango with more versatile
options argument.
- Added -t option to job command.
0.32 2014-07-10
- Added state argument to list_jobs methods in Minion::Backend::File and Minion::Backend::Mango.
- Added -T option to job command.
0.31 2014-07-09
- Reduced CPU usage of Minion::Backend::Mango when waiting for new jobs.
0.30 2014-07-08
- Added timeout argument to dequeue methods in Minion::Backend::File, Minion::Backend::Mango and Minion::Worker.
0.29 2014-07-07
- Renamed restart_job method to retry_job in Minion::Backend, Minion::Backend::File and Minion::Backend::Mango.
- Renamed restart method to retry in Minion::Job.
- Improved worker command to repair in regular intervals.
0.28 2014-06-28
- Added spawn event to Minion::Job.
0.27 2014-06-21
- Replaced delayed option with delay.
0.26 2014-06-18
- Renamed clean_up_after attribute in Minion to remove_after.
0.25 2014-06-17
- Removed auto_perform attribute from Minion.
- Added perform_jobs method to Minion.
- Fixed multiple Windows bugs.
0.24 2014-06-16
- Improved Minion::Job to reset Mojo::IOLoop.
- Fixed Windows bugs in tests.
0.23 2014-06-15
- Fixed Minion::Backend::File Windows support.
0.22 2014-06-15
- Reduced default clean_up_after value to 10 days.
0.21 2014-06-14
- Added clean_up_after attribute to Minion.
- Improved performance of repair methods.
0.20 2014-06-13
- Added module Minion::Backend::File.
- Improved Minion::Backend to provide a generic repair method.
0.15 2014-06-04
- Fixed a few small bugs in Minion::Backend::Mango.
0.14 2014-06-04
- Fixed Minion::Backend::Mango to work with strings in addition to object ids.
0.13 2014-06-03
- Added list_workers methods to Minion::Backend and Minion::Backend::Mango.
0.12 2014-06-03
- Fixed enqueue to use the correct time format.
0.11 2014-06-03
- Changed a few return values in Minion::Backend::Mango.
0.10 2014-06-02
- Removed created, delayed, error, finished, priority, restarted, restarts, started and state methods from
Minion::Job.
- Removed started method from Minion::Worker.
- Added support for pluggable backends.
- Added modules Minion::Backend and Minion::Backend::Mango.
- Added backend attribute to Minion.
- Added reset method to Minion.
- Added info methods to Minion::Job and Minion::Worker.
- Added -L and -S options to job command.
0.09 2014-04-05
- Added worker event to Minion.
- Added dequeue event to Minion::Worker.
- Added failed and finished events to Minion::Job.
- Added restarted method to Minion::Job.
- Changed return values of fail, finish and restart methods in Minion::Job.
0.08 2014-04-04
- Added support for non-blocking enqueue.
0.07 2014-04-03
- Improved performance by reusing Mango connections.
0.06 2014-04-03
- Added delayed and priority methods to Minion::Job.
- Renamed after option to delayed.
- Improved job command to use a human readable time format and allow new jobs to be enqueued.
0.05 2014-04-03
- Improved job command to stream job lists and show more information.
0.04 2014-04-02
- Removed all_jobs and one_job methods from Minion::Job.
- Removed repair method from Minion::Worker;
- Added module Minion::Command::minion::job.
- Added auto_perform attribute to Minion.
- Added repair method to Minion.
- Added created, error, finished, remove, restart, restarts and started methods to Minion::Job.
- Added started method to Minion::Worker.
0.03 2014-03-30
- Removed doc and worker attributes from Minion::Job.
- Added args, id and minion attributes to Minion::Job.
- Added id attribute to Minion::Worker.
- Added job method to Minion.
- Added state method to Minion::Job.
0.02 2014-03-28
- Added support for delayed jobs.
- Added stats method to Minion.
- Added app method to Minion::Job.
- Reduced Perl requirement to 5.10.1.
0.01 2014-03-27
- First release.