- 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
statsdinstrumentation. - Removed unused
Taskinator::Visitor::XmlVisitorimplementation. - 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
UnknownTypeErrorwhen trying to invoke processes or Jobs of unknown types
- Removed unused
ProcessWorkerclass and related queue methods. - Refactored
TestQueueAdapterto correctly implement queue adapter for use in specs. - Added deprecation for
Taskinator::Process::Concurrent#concurrency_methodoption.
- Use newer format for
pipelinedandmultirequests in Redis.
- Upgrade actionpack for information vulnerability fix.
- Upgrade sidekiq dependency for CVE-2022-23837.
- Add support for
ActiveJob.
- Add
#find_processand#find_taskmethods 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
jobtasks which have no arguments to theperformmethod. - Added support for having
performmethod 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-semaphoregem 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
cleanupmethod 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_uuidmethod - 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_remotelymethod.
- 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_remotelyso 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
sequentialorconcurrentsteps 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
typeto payload. - Improvements to error handling.
- Bug fix for option parameter handling.
- Fixed issue with persistence of options passed to
create_processon the respectiveProcessandTaskinstances. - 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
ProcessWorkersince it isn't needed anymore.
- Fixed issue with
Taskinator::Api::Processes#eachmethod, which was causing a Segmentation fault. - Added statistics information.
- Improved specifications code coverage.
- Fixed issue with
Taskinator::Task#eachmethod, which was causing a Segmentation fault. - Added
define_sequential_processanddefine_concurrent_processmethods for defining processes. - Added
ConsoleInstrumenterinstrumenter implementation. - Required
resquefor 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
queueattribute forProcessandTask - 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-sidekiqas 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::Apifor 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
completeevent - Gem dependencies updated as per Gemnasium advisory
- Added support for argument chaining with
for_eachandtransform - 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