- Time arguments fix for Redis 5.0. Fixes #28
- Include process definition in processes, tasks and payloads to aid debugging.
- Increased test coverage for process and task specs.
- Removed
statsd
instrumentation. - Removed unused
Taskinator::Visitor::XmlVisitor
implementation. - Various refactorings and clean ups.
- Bug fixes for process class when used as a sub-process
- Add handling for unknown types when deserializing old processes
- Raises
UnknownTypeError
when trying to invoke processes or Jobs of unknown types
- Removed unused
ProcessWorker
class and related queue methods. - Refactored
TestQueueAdapter
to correctly implement queue adapter for use in specs. - Added deprecation for
Taskinator::Process::Concurrent#concurrency_method
option.
- Use newer format for
pipelined
andmulti
requests in Redis.
- Upgrade actionpack for information vulnerability fix.
- Upgrade sidekiq dependency for CVE-2022-23837.
- Add support for
ActiveJob
.
- Add
#find_process
and#find_task
methods toTaskinator::Api
. - Bug fix to API when enumerating processes.
- Updated dependencies.
- Bug fix for process/task keys not expired upon completion.
- Optimisation to exclude sub-processes which don't have any tasks.
- Preparations for upgrade to Ruby 3 and ActiveSupport 6
- Bug fix
job
tasks which have no arguments to theperform
method. - Added support for having
perform
method as a class method.
- Bug fix to decrement pending counts for sequential tasks.
- Bug fix to allow concurrent tasks to be retried (via Resque) and to complete processes.
- Updated dependencies.
- Updated dependencies.
- Removed gemnasium.
- Updated dependencies.
- Spec fixes.
- Updated dependencies.
- Removed
redis-semaphore
gem and use INCRBY to track pending concurrent tasks instead. - Added instrumentation using statsd.
- Bug fixes to key expiry logic.
- Refactored process and task state transistions.
- Added support for serializing to XML.
- Improvements to process and task states.
- Added benchmark for redis-mutex.
- Bug fix to
option?
method.
- Added visitor for performing clean up of completed processes/tasks.
- Performance improvement to instrumentation payload; removed references to task/process and use intrinsic types.
- Clean up of keys, via
cleanup
method use key expiry.
- Updated the keys used when persisting processes and tasks in Redis, so they fall in the same key space.
- Added clean up code to remove data from Redis when a process completes.
- Introduced
Taskinator.generate_uuid
method - Use Redis pipelined mode to persist processes and tasks.
- Added warning output to log if serialized arguments are bigger than 2MB.
- Introduced scoping for keys in Redis in order to better support multi-tenancy requirements.
- Added XmlVisitor for extracting processes/tasks into XML.
- Introduced
ProcessWorker
(incomplete) which will be used to incrementally build sub-process in order to speed up overall processing for big processes.
- Bug fix for options handling when defining processes using
define_concurrent_process
.
- Bug fix to argument handling when using
create_process_remotely
method.
- Added redis-semaphore gem, for fix to concurrent processes completion logic.
- Added created_at and updated_at to process and task as attributes.
- Improved serialization visitor to include an optional converter block for deserialization of attribute values.
- Corrections to lazy loader logic and speed improvements.
- Removed JobWorker as it's no longer necessary.
- Improvements to instrumentation.
- Removed workflow gem, and refactored process and task to implement the basics instead.
- Several bug fixes.
- Bug fix for
create_process_remotely
so that it returns the process uuid instead of nil. - Removed reload functionality, since it isn't used anymore
- Added missing instrumentation events for task, job and subprocess completed events.
- Bug fix for when
sequential
orconcurrent
steps don't have any tasks to still continue processing. - Refactoring to remove dead code and "reload" functionality.
- Improvements to console and rake to use console instrumenter.
- Consolidation of instrumentation events. Added
type
to payload. - Improvements to error handling.
- Bug fix for option parameter handling.
- Fixed issue with persistence of options passed to
create_process
on the respectiveProcess
andTask
instances. - Improvements to process creation logic.
- Namespaced instrumentation event names.
- Added process completed, cancelled and failed instrumentation events.
- Include additional data in the instrumentation payload. E.g. Process options and percentages.
- Refactored the way processes/tasks get queued, to prevent unnecessary queuing of contained processes/tasks.
- Removed
ProcessWorker
since it isn't needed anymore.
- Fixed issue with
Taskinator::Api::Processes#each
method, which was causing a Segmentation fault. - Added statistics information.
- Improved specifications code coverage.
- Fixed issue with
Taskinator::Task#each
method, which was causing a Segmentation fault. - Added
define_sequential_process
anddefine_concurrent_process
methods for defining processes. - Added
ConsoleInstrumenter
instrumenter implementation. - Required
resque
for console and rake tasks, to make debugging easier
- Added ability to enqueue the creation of processes; added a new worker,
CreateProcessWorker
- Added support for instrumentation
- Improvements to error handling
- Bug fix for the persistence of the
queue
attribute forProcess
andTask
- Code clean up and additional specs added
- Added ability to specify the queue to use when enqueing processes, tasks and jobs
- Improvements to specs for testing with sidekiq; added
rspec-sidekiq
as development dependency - Gem dependencies updated as per Gemnasium advisory
- Bug fix for fail! methods
- Bug fix to parameter handling by for_each method
- Bug fix to
Taskinator::Api
for listing of processes; should only include top-level processes - Gem dependencies updated as per Gemnasium advisory
- Gem dependencies updated as per Gemnasium advisory
- Gem dependencies updated as per Gemnasium advisory
- Documentation updates
- Various bug fixes
- Added error logging
- Workflow states now include
complete
event - Gem dependencies updated as per Gemnasium advisory
- Added support for argument chaining with
for_each
andtransform
- Documentation updates
- Gem dependencies updated as per Gemnasium advisory
- Added better option handling; introduced
option?(key)
method - Added support for definining the expected arguments for a process
- Gem dependencies updated as per Gemnasium advisory
- Various of bug fixes
- Improved error handling
- Added logging for queuing of processes, tasks and jobs
- Improvements to serialization; make use of GlobalID functionality
- Added support for "job" tasks; reusing existing workers as tasks
- Added failure steps to workflow of processes and tasks
- Refactored how tasks are defined in definitions
- Initial release