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"
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
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.