Revision history for Redis::JobQueue package
1.19 Fri Feb 24 2017
CHANGES:
- Ability to force re-connection with Redis on error ('reconnect_on_error' attribute).
- $DEFAULT_CONNECTION_TIMEOUT, $DEFAULT_OPERATION_TIMEOUT constants added.
- connection_timeout, operation_timeout attributes added.
- Added the service module Redis::JobQueue::Util.
- Attempt to protect against used_memory > maxmemory.
- Added the 'queue_length' method.
1.18 Thu May 31 2016
BUGFIXES:
- Fix MANIFEST.
1.17 Thu May 26 2016
BUGFIXES:
- Tests corrected.
- Require perl 5.10 core modules version.
- Data::Dumper 'Sparseseen' method not used now.
1.16 Thu Sep 03 2015
CHANGES:
- In the parameters of the constructor 'redis' may be either a Redis object
or a server string or a hash reference of parameters to create a Redis object.
- Redis::JobQueue does not close connection to redis server (including '->quit' method)
if it was provided by user.
1.15 Tue Oct 28 2014
CHANGES:
- Time::HiRes::time is used for storing internal attributes.
- Redis::JobQueue->queue_status returns a floating seconds since the epoch
for the following information related to the queue:
max_job_age, min_job_age, lifetime.
- The Redis::JobQueue->quit method does not close connection to Redis during
global destruction phase (Perl version 5.14 and above).
FIXES:
- Fixed test 't/01_JobQueue/16_utf8.t'
1.13 Tue May 27 2014
CHANGES:
- Re-factoring of tests.
1.12 Thu May 23 2014
CHANGES:
- Added argument 'check_maxmemory' to the Redis::JobQueue->new
(thanks to Danny Sterne).
1.11 Fri Mar 14 2014
CHANGES:
- Change the port used for testing.
1.10 Thu Feb 20 2014
CHANGES:
- Small test improvement.
1.09 Fri Jan 10 2014
CHANGES:
- Added method Redis::JobQueue->get_next_job_id.
1.08 Fri Nov 15 2013
CHANGES:
- Deleted argument 'encoding' from the Redis::JobQueue->new
(Starting with version 1.963, Redis module doesn't support encoding).
1.07 Mon Oct 28 2013
CHANGES:
- Added to META.yml the list of the modules provided by this distribution.
1.06 Fri Oct 25 2013
CHANGES:
- 'delete_job' removes job id record from the queue list.
This helps to properly diagnose cases when job data was removed by Redis OOM handler
rather than explicitly deleted by user.
- Use single hash for storing all job data on Redis server.
- Removed 'NS_METADATA_SUFFIX' constant.
FIXES:
- Fix runtime loading of Test::*
1.05 Wed Sep 18 2013
CHANGES:
- Use Try::Tiny for proper preservation of $@ .
1.04 Thu Sep 05 2013
CHANGES:
- Method 'clear_variability' renamed to 'clear_modified'.
- Redis server updates only updated data, if you change the metadata,
not all of the metadata.
- Change the 'completed' attribute sets 'failed' to 0,
the change 'failed' sets 'completed' to 0.
The attributes 'completed' and 'failed' are mutually exclusive.
- Method 'update_job' accesses the Redis server only if there is some
data to update.
FIXES:
- $@ is localized before we attempt to catch an exception.
1.03 Tue Jun 25 2013
FIXES:
- Added description of the Redis::JobQueue::Job attributes:
'progress', 'message'.
1.02 Mon Jun 17 2013
CHANGES:
- Added standard job field: Time when job was 'failed' (user settable).
- Added a method 'last_error'.
FIXES:
- 'add_job', 'update_job', 'load_job' not cause 'clear_variability' for metadata.
1.01 Tue May 28 2013
CHANGES:
- Minor changes in documentation.
FIXES:
- Checking OS in Makefile.PL
Tests hang on Windows.
1.00 Mon May 07 2013
!!! This is a major upgrade that changes API. It's strongly advised to study
revised documentation and update your code where necessary !!!
CHANGES:
- Needs Redis server version 2.6 or higher as module uses Redis Lua scripting.
- Improved handling of transactions.
- Method Redis::JobQueue::Job->job_attributes returns a sorted list.
- Fields 'result' and 'workload':
It is possible to use any data structure (SCALAR, HASH, ARRAY, OBJECT).
It is automatically serialized.
Allowable size of the data is determined based on the size of the
serialized string.
- Added standard job fields:
Times when job was: 'created', 'started', 'completed', 'updated'
(user settable),
Job 'progress' (0...1) and arbitrary status 'message'.
Appropriate methods added.
- The job 'updated' field automatically changes with every change to a job.
- Added a method 'Redis::JobQueue::Job->elapsed'.
- A set of constants to reflect job status:
CREATED, WORKING, FAILED, COMPLETED, the user can specify own value
for status.
Moved from module Redis::JobQueue to module Redis::JobQueue::Job.
- Added working with the jobs metadata
(additional information related to the job):
It is automatically serialized.
Methods 'Redis::JobQueue::Job->meta_data',
'Redis::JobQueue->get_job_meta_fields'.
- Constant MAX_DATASIZE moved to module Redis::JobQueue.
- No longer used constants EMAXMEMORYPOLICY, STATUS_DELETED, EXPIRE_DELETED.
- Added a method 'queue_status' for monitoring the state of the queue.
- Method 'get_job_status' removed.
Method 'get_job_data' added instead for receiving data from the standard
set of fields.
- Method 'delete_job' removes Redis data structures that are associated
with the job.
- Method 'get_jobs' renamed to 'get_job_ids'.
Jobs can be filtered by queue name or status.
- Method 'add_job' updates Redis::JobQueue::Job object, if it was passed
as the first argument.
- 'encoding => undef' for Redis used, if 'new' invoked without
the first argument being an object of 'Redis::JobQueue' or 'Redis' class.
- Exception for not serialized utf8 text fields, when Redis object set
to 'encoding => undef'.
- Added test using 'utf8' data (t/01_JobQueue/t_utf8.t).
- Added new functionality testing.
- Change to user-friendly constant names.
0.16 Tue Mar 12 2013
CHANGES:
- Added method 'server'
0.15 Tue Mar 12 2013
BUGFIXES:
- Attribute 'attribute' renamed 'meta_data'
0.14 Mon Mar 11 2013
CHANGES:
- Attribute 'attribute' renamed 'meta_data'
- Methods 'check_job_...' renamed 'get_job_...'
0.13 Sat Mar 09 2013
CHANGES:
- Attribute 'attribute' in the structure of jobs added
0.12 Fri Mar 08 2013
CHANGES:
- The tests are executed even if the installed Redis server is not running
0.11 Fri Mar 08 2013
CHANGES:
- Added method 'ping'
0.10 Mon Feb 26 2013
CHANGES:
- Error codes returned by last_errorcode method complies with an array
of descriptions @Redis::JobQueue::ERROR
0.09 Wed Feb 13 2013
CHANGES:
- 'new' indirectly detects no connection to the Redis server
0.08 Tue Dec 18 2012
CHANGES:
- The 'job' attribute of the job performs only informational role
- Checking Perl version in Makefile.PL
0.07 Wed Sep 26 2012
CHANGES:
- The 'get_next_job' can take a queue name or a reference to an array of queue names
0.06 Thu Sep 13 2012
BUGFIXES:
- The 'get_next_job' method work correctly when 'blocking' is true
0.05 Mon Sep 10 2012
CHANGES:
- Author and release tests moved to 'xt' directory
BUGFIXES:
- Eliminate unnecessary Data::UUID object construction
0.04 Sat Sep 01 2012
BUGFIXES:
- t/00_Job/01_new.t
Disable checking leads to "Out of memory!" for systems with limited memory
0.03 Thu Aug 30 2012
CHANGES:
- Added test 't/94_fixme.t'
BUGFIXES:
- Fixed version number to 'use 5.010'
0.02 Tue Aug 28 2012
BUGFIXES:
- Minor changes in documentation
0.01 Mon Aug 27 2012
- Original version