- Added console logging of errors when sending a task from a server
- Added some debugging info to acceptTask unusual errors
- DEPRECATED:
host
,port
, andpassword
keys are deprecated from initialization options - Initialization options object now takes
redisOptions
object, which can contain any parameters that are part of the ioredis initialization object exceptdropBufferSupport
, which is always true. - Migrated from
node_redis
toio_redis
- Cleaned up some code
- Fixed some tests
- Added an optional callback to
shutdown
commands.
- Fixed taskLimit cleanup code
- Updated source code and unit test formatting
- Enable unlimited task clients with
-1
'maxTasksPerKey' config value - Dropped support for node.js < 4.x
- Added official support for node.js 4.x and node.js 6.x
- Pinned dependencies
- Updated license and dependency information
- Add support for broadcasting tasks
- Added passing of metadata that gets passed as an argument in TASK_AVAILABLE event
- Added some redis error handling, and handle addTask callback errors
- Changed redis_client callback to listen only once
- Delete callback in redis_client on first use, to work around redis bug where ready event is called twice
- Changed description and metadata
- Added a per-task broadcast channel option to addTask to allow for a single client to send to specific workers
- Cleaned up unit tests
- Refactored the initialization procedure to provide consistent callbacks
- Cleaned up error messages
- Clean up callbacks prior to calling any asynchronous functions on task response, and check for presence of callbacks before any response
- Added more error information on TaskLimit.stopTask precondition check
- Fixes #14 - Task Limit errors on stopTask were thrown rather than emitted
- Removes a race condition where a task timeout and task completion could both call TaskLimit.stopTask()
- Fixed some test case issues where tests were completing with asynchronous code still running
- Added new initialization option, maxPayloadSize, which sets the maximum size for a task message.
- Updated blacklist addFailure to avoid race condition where the blacklist counter ttl was set to -1
- Added a method to Task Server getBlacklistCount() to get a count of total # of blacklisted taskKeys
- Changed payload limit error message
- Changed use of version to API level to allow for mixed versions of the same level to exist
- Improved precondition error handling
- Added more informational error message for attempting to respond to a task that wasn't accepted
- Fix to drop progress notificaiton and ignore when an error occurs
- Fixed context issue when an error occurs processing a task
- Added cleanup of keys for when a task times out
- Several bug fixes
- Added test coverage for notification bus
- Complete refactor of Node Background Tasks.
- BREAKING CHANGE: Ending the client and workers now use shutdown() command instead of end()
- Refactored background_task to return sepearate objects, either a TaskClient or TaskServer, which each have their own methods
- Removed messageBus and replaced with a data_store for reading/writing to logical data entites, and a notification_bus for message notifications
- All redis interaction has been moved to redis_client
- notification_bus only handles sending and processing of data. The former methods to accept a task and complete a task have been pulled up into the task client and server
- Concept of progressBus and messageBus have been removed and replaced with a single notification bus with different status.
- Make sure progressBus is ready when new task is received
- Changed initial sendMessage order
- Added some additional error logging
- Fixed issues with unit tests
- Upgrade to node_redis v0.8.6
- Modified test cases for auth check based on the fact that node_redis no longer returns an error message when a password is supploed but not required
- Added logging for progressBus.sendMessage callback to trap if an error occurs
- Fixed a leak of event listeners whenever an error was signaled.
- Added a taskTimeout to set the timeout value for an individual task
- Moved progress events to a seperate bus, updated tests.
- Improved test setup to get rid of test delays
- Fixed a leak of event listeners whenever an error was signaled (bug fix on 0.4.x branch, also added to 0.5.x branch version 0.5.1)
- Set to use redis module v0.8.3 due to change in how password auth works.
- Publish only once when sedning multiple responses concurrently
- Publish even if any of the concurrent response-calls fail.
- Added support for reporting task progress
- Refactored complete- and progressTask methods.
- addTask now returns the task id.
- Fixed bug with TASK_DONE firing for all tasks when the first completes.
- Added TASK_PROGRESS event
- Raised granularity of emitted progress event.
- Fixed task filter option.
- FIxed uncaught JSON parsing exception
- Fixed issue on limit cleanup to handle undefined key result
- Added task limit cleanup on start to remove orphaned taskKeys when an application fails
- Modified test descriptors to provide more detail
- Simplified test cases; refactored to make more clear
- Fixed some timeout issues in unit tests
- Added limit cleanup on start per hostname
- Fixed an issue where task_limit was being invoked, but still allowing BL to proceed.
- Added support for logging blacklist entries
- Updated test coverage
- Added a unit test for redis < 0.8.2 65k msg limit
- Force redis driver > 0.8.2
- Support redis 2.2
- Fixed bug with task-limits if there is a redis password problem. TAsk limit is now an event emitter, so it can indicate errors
- Bacground-task updated to forward task-limit errors to the client
- Updated test coverage
- Prevent multiple workers from responding to the same task and trying to notify the task creator twice that they were successful.
- Improved tests
- No more leaking of event emitters
- More error handling
- Removal of emit('error') when callbacks are available
- Initial Release