taskinator 0.5.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae9476e48721568bd268135aac66ccf70f0b1f9f5737e2db7c25ab22033e6e3b
4
- data.tar.gz: bba571d2cc60c017636187a88cd770889c5ac644726ac4094134d6ea48a9decd
3
+ metadata.gz: 61a5df38d4a74fdeb8608d4968db7198d2176ce298a876161391d1cb4b2d34bb
4
+ data.tar.gz: 040d41584d148bd04ab6dde0278434b53689fe6d0e506271c2fd4c6d34c2ff46
5
5
  SHA512:
6
- metadata.gz: 5d2912f45a9200d3f2abce1cc4fd651b2369d0663cbad219e0e16fe08990ad0f9ecdbf49402d5d2774581dd111fd0b3141f2bbe939214114094de13f3eae7d8e
7
- data.tar.gz: dd35c73baf37a5ba20bc43faebeb855fa5445c0559f331c7f8c144d0d5fcb27c05b0e72b8030d31a42b985d5322a8e539db8113c0b43341b41bbde2a8c8cfb2f
6
+ metadata.gz: 9fd50742a5248ca9c06a0f6f2dbefe5cca6196a1823276baa034614f5bde65f4850cb04f59fad47995b4767318a3c49874b5033290edea7084791792c9cb3421
7
+ data.tar.gz: 4879da6633c70180d7d724f0553905cf669d44a8cb67d1af290e5aa068f23bdcc1ab914bd06a72746f0804884122fd5b1a687ed4c47667c94368c4bf4fbf00df
@@ -1,4 +1,4 @@
1
- name: Taskinator
1
+ name: Build
2
2
 
3
3
  on:
4
4
  push:
@@ -16,7 +16,7 @@ jobs:
16
16
  - '2.7'
17
17
  - '3.0'
18
18
  steps:
19
- - uses: actions/checkout@v2
19
+ - uses: actions/checkout@v3
20
20
  - name: Set up Ruby
21
21
  uses: ruby/setup-ruby@v1
22
22
  with:
@@ -26,16 +26,3 @@ jobs:
26
26
  run: bundle exec rake build
27
27
  - name: Run tests
28
28
  run: bundle exec rake spec
29
-
30
- publish:
31
- if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
32
- needs: build
33
- runs-on: ubuntu-latest
34
- steps:
35
- - uses: actions/checkout@v2
36
- - name: Release Gem
37
- uses: discourse/publish-rubygems-action@v2
38
- env:
39
- RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
40
- GIT_NAME: Chris Stefano
41
- GIT_EMAIL: virtualstaticvoid@gmail.com
@@ -0,0 +1,18 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [ published ]
6
+
7
+ jobs:
8
+ publish:
9
+ if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - name: Release Gem
14
+ uses: virtualstaticvoid/publish-rubygems-action@v4
15
+ env:
16
+ GIT_NAME: "Chris Stefano"
17
+ GIT_EMAIL: "virtualstaticvoid@gmail.com"
18
+ RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
data/CHANGELOG.md CHANGED
@@ -1,239 +1,257 @@
1
+ v?.?.? - ?? ??? ????
2
+ ---
3
+
4
+ v0.5.2 - 04 Oct 2024
5
+ ---
6
+ * Time arguments fix for Redis 5.0. Fixes #28
7
+
8
+ v0.5.1 - 06 Jan 2023
9
+ ---
10
+ * Include process definition in processes, tasks and payloads to aid debugging.
11
+ * Increased test coverage for process and task specs.
12
+ * Removed `statsd` instrumentation.
13
+ * Removed unused `Taskinator::Visitor::XmlVisitor` implementation.
14
+ * Various refactorings and clean ups.
15
+ * Bug fixes for process class when used as a sub-process
16
+ * Add handling for unknown types when deserializing old processes
17
+ * Raises `UnknownTypeError` when trying to invoke processes or Jobs of unknown types
18
+
1
19
  v0.5.0 - 18 Feb 2022
2
20
  ---
3
- Removed unused `ProcessWorker` class and related queue methods.
4
- Refactored `TestQueueAdapter` to correctly implement queue adapter for use in specs.
5
- Added deprecation for `Taskinator::Process::Concurrent#concurrency_method` option.
21
+ * Removed unused `ProcessWorker` class and related queue methods.
22
+ * Refactored `TestQueueAdapter` to correctly implement queue adapter for use in specs.
23
+ * Added deprecation for `Taskinator::Process::Concurrent#concurrency_method` option.
6
24
 
7
25
  v0.4.7 - 17 Feb 2022
8
26
  ---
9
- Use newer format for `pipelined` and `multi` requests in Redis.
27
+ * Use newer format for `pipelined` and `multi` requests in Redis.
10
28
 
11
29
  v0.4.6 - 12 Feb 2022
12
30
  ---
13
- Upgrade actionpack for [information vulnerability fix](https://github.com/virtualstaticvoid/taskinator/security/dependabot/3).
31
+ * Upgrade actionpack for [information vulnerability fix](https://github.com/virtualstaticvoid/taskinator/security/dependabot/3).
14
32
 
15
33
  v0.4.5 - 30 Jan 2022
16
34
  ---
17
- Upgrade sidekiq dependency for [CVE-2022-23837](https://github.com/advisories/GHSA-jrfj-98qg-qjgv).
35
+ * Upgrade sidekiq dependency for [CVE-2022-23837](https://github.com/advisories/GHSA-jrfj-98qg-qjgv).
18
36
 
19
37
  v0.4.4 - 17 Jan 2022
20
38
  ---
21
- Add support for `ActiveJob`.
39
+ * Add support for `ActiveJob`.
22
40
 
23
41
  v0.4.3 - 14 Jan 2022
24
42
  ---
25
- Add `#find_process` and `#find_task` methods to `Taskinator::Api`.
26
- Bug fix to API when enumerating processes.
27
- Updated dependencies.
43
+ * Add `#find_process` and `#find_task` methods to `Taskinator::Api`.
44
+ * Bug fix to API when enumerating processes.
45
+ * Updated dependencies.
28
46
 
29
47
  v0.4.2 - 16 Mar 2021
30
48
  ---
31
- Bug fix for process/task keys not expired upon completion.
49
+ * Bug fix for process/task keys not expired upon completion.
32
50
 
33
51
  v0.4.1 - 15 Mar 2021
34
52
  ---
35
- Optimisation to exclude sub-processes which don't have any tasks.
36
- Preparations for upgrade to Ruby 3 and ActiveSupport 6
53
+ * Optimisation to exclude sub-processes which don't have any tasks.
54
+ * Preparations for upgrade to Ruby 3 and ActiveSupport 6
37
55
 
38
56
  v0.4.0 - 4 Mar 2021
39
57
  ---
40
- Bug fix `job` tasks which have no arguments to the `perform` method.
41
- Added support for having `perform` method as a class method.
58
+ * Bug fix `job` tasks which have no arguments to the `perform` method.
59
+ * Added support for having `perform` method as a class method.
42
60
 
43
61
  v0.3.16 - 17 Feb 2021
44
62
  ---
45
- Bug fix to deincrement pending counts for sequential tasks.
46
- Bug fix to allow concurrent tasks to be retried (via Resque) and to complete processes.
63
+ * Bug fix to decrement pending counts for sequential tasks.
64
+ * Bug fix to allow concurrent tasks to be retried (via Resque) and to complete processes.
47
65
 
48
66
  v0.3.15 - 22 Nov 2018
49
67
  ---
50
- Updated dependencies.
68
+ * Updated dependencies.
51
69
 
52
70
  v0.3.14 - 13 Jul 2018
53
71
  ---
54
- Updated dependencies.
55
- Removed gemnasium.
72
+ * Updated dependencies.
73
+ * Removed gemnasium.
56
74
 
57
75
  v0.3.13 - 23 Sep 2017
58
76
  ---
59
- Updated dependencies.
77
+ * Updated dependencies.
60
78
 
61
79
  v0.3.12 - 23 Sep 2017
62
80
  ---
63
- Spec fixes.
64
- Updated dependencies.
81
+ * Spec fixes.
82
+ * Updated dependencies.
65
83
 
66
84
  v0.3.11 - 1 Nov 2016
67
85
  ---
68
- Removed `redis-semaphore` gem and use INCRBY to track pending concurrent tasks instead.
69
- Added instrumentation using statsd.
70
- Bug fixes to key expiry logic.
71
- Refactored process and task state transistions.
86
+ * Removed `redis-semaphore` gem and use INCRBY to track pending concurrent tasks instead.
87
+ * Added instrumentation using statsd.
88
+ * Bug fixes to key expiry logic.
89
+ * Refactored process and task state transistions.
72
90
 
73
91
  v0.3.10 - 1 Nov 2016
74
92
  ---
75
- Added support for serializing to XML.
76
- Improvements to process and task states.
93
+ * Added support for serializing to XML.
94
+ * Improvements to process and task states.
77
95
 
78
96
  v0.3.9 - 12 Sep 2016
79
97
  ---
80
- Added benchmark for redis-mutex.
98
+ * Added benchmark for redis-mutex.
81
99
 
82
100
  v0.3.7 - 18 Aug 2016
83
101
  ---
84
- Bug fix to `option?` method.
102
+ * Bug fix to `option?` method.
85
103
 
86
104
  v0.3.6 - 11 Nov 2015
87
105
  ---
88
- Added visitor for performing clean up of completed processes/tasks.
89
- Performance improvement to instrumentation payload; removed references to task/process and use intrinsic types.
90
- Clean up of keys, via `cleanup` method use key expiry.
106
+ * Added visitor for performing clean up of completed processes/tasks.
107
+ * Performance improvement to instrumentation payload; removed references to task/process and use intrinsic types.
108
+ * Clean up of keys, via `cleanup` method use key expiry.
91
109
 
92
110
  v0.3.5 - 02 Nov 2015
93
111
  ---
94
- Updated the keys used when persisting processes and tasks in Redis, so they fall in the same key space.
95
- Added clean up code to remove data from Redis when a process completes.
96
- Introduced `Taskinator.generate_uuid` method
97
- Use Redis pipelined mode to persist processes and tasks.
98
- Added warning output to log if serialized arguments are bigger than 2MB.
99
- Introduced scoping for keys in Redis in order to better support multi-tenancy requirements.
100
- Added XmlVisitor for extracting processes/tasks into XML.
101
- Introduced `ProcessWorker` (incomplete) which will be used to incrementally build sub-process in order to speed up overall processing for big processes.
112
+ * Updated the keys used when persisting processes and tasks in Redis, so they fall in the same key space.
113
+ * Added clean up code to remove data from Redis when a process completes.
114
+ * Introduced `Taskinator.generate_uuid` method
115
+ * Use Redis pipelined mode to persist processes and tasks.
116
+ * Added warning output to log if serialized arguments are bigger than 2MB.
117
+ * Introduced scoping for keys in Redis in order to better support multi-tenancy requirements.
118
+ * Added XmlVisitor for extracting processes/tasks into XML.
119
+ * Introduced `ProcessWorker` (incomplete) which will be used to incrementally build sub-process in order to speed up overall processing for big processes.
102
120
 
103
121
  v0.3.3 - 29 Oct 2015
104
122
  ---
105
- Bug fix for options handling when defining processes using `define_concurrent_process`.
123
+ * Bug fix for options handling when defining processes using `define_concurrent_process`.
106
124
 
107
125
  v0.3.2 - 18 Sep 2015
108
126
  ---
109
- Bug fix to argument handling when using `create_process_remotely` method.
127
+ * Bug fix to argument handling when using `create_process_remotely` method.
110
128
 
111
129
  v0.3.1 - 16 Sep 2015
112
130
  ---
113
- Added redis-semaphore gem, for fix to concurrent processes completion logic.
131
+ * Added redis-semaphore gem, for fix to concurrent processes completion logic.
114
132
 
115
133
  v0.3.0 - 28 Aug 2015
116
134
  ---
117
- Added created_at and updated_at to process and task as attributes.
118
- Improved serialization visitor to include an optional converter block for deserialization of attribute values.
119
- Corrections to lazy loader logic and speed improvements.
120
- Removed JobWorker as it's no longer necessary.
121
- Improvements to instrumentation.
122
- Removed workflow gem, and refactored process and task to implement the basics instead.
123
- Several bug fixes.
135
+ * Added created_at and updated_at to process and task as attributes.
136
+ * Improved serialization visitor to include an optional converter block for deserialization of attribute values.
137
+ * Corrections to lazy loader logic and speed improvements.
138
+ * Removed JobWorker as it's no longer necessary.
139
+ * Improvements to instrumentation.
140
+ * Removed workflow gem, and refactored process and task to implement the basics instead.
141
+ * Several bug fixes.
124
142
 
125
143
  v0.2.0 - 31 Jul 2015
126
144
  ---
127
- Bug fix for `create_process_remotely` so that it returns the process uuid instead of nil.
128
- Removed reload functionality, since it isn't used anymore
129
- Added missing instrumentation events for task, job and subprocess completed events.
130
- Bug fix for when `sequential` or `concurrent` steps don't have any tasks to still continue processing.
131
- Refactoring to remove dead code and "reload" functionality.
132
- Improvements to console and rake to use console instrumenter.
133
- Consolidation of instrumentation events. Added `type` to payload.
134
- Improvements to error handling.
145
+ * Bug fix for `create_process_remotely` so that it returns the process uuid instead of nil.
146
+ * Removed reload functionality, since it isn't used anymore
147
+ * Added missing instrumentation events for task, job and subprocess completed events.
148
+ * Bug fix for when `sequential` or `concurrent` steps don't have any tasks to still continue processing.
149
+ * Refactoring to remove dead code and "reload" functionality.
150
+ * Improvements to console and rake to use console instrumenter.
151
+ * Consolidation of instrumentation events. Added `type` to payload.
152
+ * Improvements to error handling.
135
153
 
136
154
  v0.1.1 - 23 Jul 2015 [Yanked]
137
155
  ---
138
- Bug fix for option parameter handling.
156
+ * Bug fix for option parameter handling.
139
157
 
140
158
  v0.1.0 - 23 Jul 2015 [Yanked]
141
159
  ---
142
- Fixed issue with persistence of options passed to `create_process` on the respective `Process` and `Task` instances.
143
- Improvements to process creation logic.
144
- Namespaced instrumentation event names.
145
- Added process completed, cancelled and failed instrumentation events.
146
- Include additional data in the instrumentation payload. E.g. Process options and percentages.
147
- Refactored the way processes/tasks get queued, to prevent unnecessary queuing of contained processes/tasks.
148
- Removed `ProcessWorker` since it isn't needed anymore.
160
+ * Fixed issue with persistence of options passed to `create_process` on the respective `Process` and `Task` instances.
161
+ * Improvements to process creation logic.
162
+ * Namespaced instrumentation event names.
163
+ * Added process completed, cancelled and failed instrumentation events.
164
+ * Include additional data in the instrumentation payload. E.g. Process options and percentages.
165
+ * Refactored the way processes/tasks get queued, to prevent unnecessary queuing of contained processes/tasks.
166
+ * Removed `ProcessWorker` since it isn't needed anymore.
149
167
 
150
168
  v0.0.18 - 14 Jul 2015
151
169
  ---
152
- Fixed issue with `Taskinator::Api::Processes#each` method, which was causing a Segmentation fault.
153
- Added statistics information.
154
- Improved specifications code coverage.
170
+ * Fixed issue with `Taskinator::Api::Processes#each` method, which was causing a Segmentation fault.
171
+ * Added statistics information.
172
+ * Improved specifications code coverage.
155
173
 
156
174
  v0.0.17 - 11 Jul 2015
157
175
  ---
158
- Fixed issue with `Taskinator::Task#each` method, which was causing a Segmentation fault.
159
- Added `define_sequential_process` and `define_concurrent_process` methods for defining processes.
160
- Added `ConsoleInstrumenter` instrumenter implementation.
161
- Required `resque` for console and rake tasks, to make debugging easier
176
+ * Fixed issue with `Taskinator::Task#each` method, which was causing a Segmentation fault.
177
+ * Added `define_sequential_process` and `define_concurrent_process` methods for defining processes.
178
+ * Added `ConsoleInstrumenter` instrumenter implementation.
179
+ * Required `resque` for console and rake tasks, to make debugging easier
162
180
 
163
181
  v0.0.16 - 25 Jun 2015
164
182
  ---
165
- Added ability to enqueue the creation of processes; added a new worker, `CreateProcessWorker`
166
- Added support for instrumentation
167
- Improvements to error handling
168
- Bug fix for the persistence of the `queue` attribute for `Process` and `Task`
169
- Code clean up and additional specs added
183
+ * Added ability to enqueue the creation of processes; added a new worker, `CreateProcessWorker`
184
+ * Added support for instrumentation
185
+ * Improvements to error handling
186
+ * Bug fix for the persistence of the `queue` attribute for `Process` and `Task`
187
+ * Code clean up and additional specs added
170
188
 
171
189
  v0.0.15 - 28 May 2015
172
190
  ---
173
- Added ability to specify the queue to use when enqueing processes, tasks and jobs
174
- Improvements to specs for testing with sidekiq; added `rspec-sidekiq` as development dependency
175
- Gem dependencies updated as per Gemnasium advisory
191
+ * Added ability to specify the queue to use when enqueing processes, tasks and jobs
192
+ * Improvements to specs for testing with sidekiq; added `rspec-sidekiq` as development dependency
193
+ * Gem dependencies updated as per Gemnasium advisory
176
194
 
177
195
  v0.0.14 - 12 May 2015
178
196
  ---
179
- Bug fix for fail! methods
180
- Bug fix to parameter handling by for_each method
197
+ * Bug fix for fail! methods
198
+ * Bug fix to parameter handling by for_each method
181
199
 
182
200
  v0.0.13 - 11 May 2015
183
201
  ---
184
- Bug fix to `Taskinator::Api` for listing of processes; should only include top-level processes
185
- Gem dependencies updated as per Gemnasium advisory
202
+ * Bug fix to `Taskinator::Api` for listing of processes; should only include top-level processes
203
+ * Gem dependencies updated as per Gemnasium advisory
186
204
 
187
205
  v0.0.12 - 20 Apr 2015
188
206
  ---
189
- Gem dependencies updated as per Gemnasium advisory
207
+ * Gem dependencies updated as per Gemnasium advisory
190
208
 
191
209
  v0.0.11 - 2 Mar 2015
192
210
  ---
193
- Gem dependencies updated as per Gemnasium advisory
211
+ * Gem dependencies updated as per Gemnasium advisory
194
212
 
195
213
  v0.0.10 - 26 Feb 2015
196
214
  ---
197
- Documentation updates
215
+ * Documentation updates
198
216
 
199
217
  v0.0.9 - 19 Dec 2014
200
218
  ---
201
- Various bug fixes
202
- Added error logging
203
- Workflow states now include `complete` event
204
- Gem dependencies updated as per Gemnasium advisory
219
+ * Various bug fixes
220
+ * Added error logging
221
+ * Workflow states now include `complete` event
222
+ * Gem dependencies updated as per Gemnasium advisory
205
223
 
206
224
  v0.0.8 - 11 Nov 2014
207
225
  ---
208
- Added support for argument chaining with `for_each` and `transform`
209
- Documentation updates
210
- Gem dependencies updated as per Gemnasium advisory
226
+ * Added support for argument chaining with `for_each` and `transform`
227
+ * Documentation updates
228
+ * Gem dependencies updated as per Gemnasium advisory
211
229
 
212
230
  v0.0.7 - 16 Oct 2014
213
231
  ---
214
- Added better option handling; introduced `option?(key)` method
215
- Added support for definining the expected arguments for a process
216
- Gem dependencies updated as per Gemnasium advisory
232
+ * Added better option handling; introduced `option?(key)` method
233
+ * Added support for definining the expected arguments for a process
234
+ * Gem dependencies updated as per Gemnasium advisory
217
235
 
218
236
  v0.0.5 - 17 Sep 2014
219
237
  ---
220
- Various of bug fixes
221
- Improved error handling
222
- Added logging for queuing of processes, tasks and jobs
238
+ * Various of bug fixes
239
+ * Improved error handling
240
+ * Added logging for queuing of processes, tasks and jobs
223
241
 
224
242
  v0.0.4 - 12 Sep 2014
225
243
  ---
226
- Improvements to serialization; make use of GlobalID functionality
227
- Added support for "job" tasks; reusing existing workers as tasks
244
+ * Improvements to serialization; make use of GlobalID functionality
245
+ * Added support for "job" tasks; reusing existing workers as tasks
228
246
 
229
247
  v0.0.3 - 2 Sep 2014
230
248
  ---
231
- Added failure steps to workflow of processes and tasks
249
+ * Added failure steps to workflow of processes and tasks
232
250
 
233
251
  v0.0.2 - 12 Aug 2014
234
252
  ---
235
- Refactored how tasks are defined in definitions
253
+ * Refactored how tasks are defined in definitions
236
254
 
237
255
  v0.0.1 - 12 Aug 2014
238
256
  ---
239
- Initial release
257
+ * Initial release
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ gemspec
5
5
 
6
6
  # queues
7
7
  gem 'activejob' , '>= 5.0.0'
8
- gem 'sidekiq' , '>= 3.5.0'
8
+ gem 'sidekiq' , '>= 3.5.0', '< 7.0.0'
9
9
  gem 'rspec-sidekiq' , '>= 2.1.0'
10
10
 
11
11
  gem 'delayed_job' , '~> 4.1.0'