Revision history for Perl module MediaCloud::JobManager (ex. Gearman::JobScheduler)
0.27 2017-08-14
* Make mjm_worker.pl include stuff from current path and its lib/.
0.26 2016-11-21
* Make number of RabbitMQ connect retries configurable.
0.25 2016-06-09
* Fix broker initialization problem.
0.24 2016-06-09
* Remove Gearman support.
* Remove obsolete dependencies.
* Upgrade Net::AMQP::RabbitMQ.
0.23 2016-06-02
* Make job result (response) queues optional because they fill up
RabbitMQ's queue list for clients that don't care about job results.
* Remake per-function priorities into per-job priorities (passed as an
argument to run_remotely() or add_to_queue()) because they make more
sense.
* Sort job arguments in job log.
0.22 2016-05-30
* Add support for RabbitMQ's "lazy queues"
(https://www.rabbitmq.com/lazy-queues.html, configurable per-function) to
handle large queues without a huge memory pressure.
0.21 2016-05-27
* Retry connecting to RabbitMQ for a minute when starting a client.
* Don't print default job priority when starting a worker.
0.20 2016-05-04
* Remove unique() from workers because RabbitMQ doesn't support merging
jobs with identical arguments into one.
* Don't use PIDs for RabbitMQ channel numbers.
0.19 2016-05-03
* Add basic RabbitMQ job broker support using Celery as message protocol.
0.18 2016-04-27
* Use CPAN's preferred versioning.
0.17.1 2016-04-27
* Copy mjm_worker.pl to bin/.
0.17 2016-04-26
* Rename from Gearman::JobScheduler to MediaCloud::JobManager.
* Rename run_on_gearman() to run_remotely().
* Rename enqueue_on_gearman() to add_to_queue().
* Refactor the module to be job broker-agnostic in order to later add
additional job broker support (e.g. RabbitMQ via Celery protocol).
* Modernize Makefile.PL.
* Update README.
0.16.1 2016-04-20
* Remove Log::Log4perl's error log appender because together with Media
Cloud's usage of Log::Log4perl it ends up in a deep recursion.
0.16 2014-07-01
* Fix support for Perl 5.19+.
* Remove support for "timeout()" subroutine because it wasn't working as
expected.
* Add basic, sanity checking unit tests.
* Add compile test.
* Fix list of module dependencies.
0.15 2014-02-18
* Add FILENO() subroutine to Gearman::JobScheduler::ErrorLogTrapper because
otherwise IPC::Open3 fails (see
http://stackoverflow.com/a/6012757/200603).
0.14 2014-02-05
* Remove fork()-based workers because they're more of a bug than a feature;
clients should run separate processes instead.
* Use JSON instead of Storable to encode / decode job arguments in order to
improve compatibility with Gearman clients / workers in other languages.
0.13 2014-02-03
* Sanitize function name when writing to a single ("unified") log.
0.12 2014-02-03
* Added support for writing worker logs into a single file.
* Print job arguments into a single line for clarity.
0.11 2013-11-19
* Got rid of the Sys::Path dependency because it doesn't work on Perl 5.18
without warnings (requires JSON::Util -> IO::Any -> uses "~~" and "given"
which emit warnings).
0.10 2013-11-18
* Got rid of an outdated/experimental "given-when" syntax so Perl 5.18
doesn't complain.
* Dropped leading 'v' off versions to satisfy CPAN::Changes::Spec.
* Added GitHub repo to Build.PL / META.yml.
0.09 2013-10-28
* Make "unique_job_id()" public for the use of client applications because
they might want to generate their own unique job IDs in order to test
whether or not a job with given parameters is enqueued.
0.08 2013-10-21
* Gearman::JobScheduler::Admin utility package for administering the
server (just like "gearadmin" does).
* Removed Gearman::JobScheduler::cancel_gearman_job() subroutine as
redundant.
* Don't die() when a log path is not found.
* Added Gearman/JobScheduler/Worker.pm to the list of "provided" files.
0.07 2013-10-07
* Moose 2.1005 requirement.
0.06 2013-10-07
* Handle (log) undefined arguments to run() correctly.
0.05 2013-10-07
* Use SHA256 hashes for Perl-generated unique job identifiers because the
job identifier is limited to 64 bytes by Gearman which is usually not
enough.
0.04 2013-09-30
* Ability to start multiple worker instances of a single Gearman function.
0.03 2013-09-30
* Gearman functions can now provide their own default configurations.
0.02 2013-09-30
* Moved worker helper subroutines to a separate package so that they can be
reused more easily.
0.01 2013-09-16
* Initial release.