cmdx 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/TODO.md +353 -0
- data/lib/cmdx/circuit_breaker.rb +234 -0
- data/lib/cmdx/configuration.rb +2 -1
- data/lib/cmdx/deprecation.rb +2 -2
- data/lib/cmdx/idempotency.rb +172 -0
- data/lib/cmdx/lock.rb +191 -0
- data/lib/cmdx/pipeline.rb +1 -9
- data/lib/cmdx/retry.rb +20 -2
- data/lib/cmdx/runtime.rb +42 -19
- data/lib/cmdx/store_key.rb +47 -0
- data/lib/cmdx/stores/memory.rb +155 -0
- data/lib/cmdx/stores/redis.rb +111 -0
- data/lib/cmdx/stores.rb +111 -0
- data/lib/cmdx/task.rb +115 -8
- data/lib/cmdx/telemetry.rb +34 -4
- data/lib/cmdx/util.rb +7 -0
- data/lib/cmdx/version.rb +1 -1
- data/lib/cmdx.rb +11 -0
- data/lib/generators/cmdx/templates/install.rb +23 -5
- data/mkdocs.yml +8 -1
- metadata +9 -1
data/mkdocs.yml
CHANGED
|
@@ -121,7 +121,7 @@ plugins:
|
|
|
121
121
|
- basics/chain.md: Execution chain tracking for related tasks within threads
|
|
122
122
|
Interruptions:
|
|
123
123
|
- interruptions/signals.md: Intentional task interruption using skip! and fail! methods
|
|
124
|
-
- interruptions/faults.md:
|
|
124
|
+
- interruptions/faults.md: execute! exceptions for failed tasks with result, task, context, chain, and cleaned backtrace
|
|
125
125
|
- interruptions/exceptions.md: Complete exception hierarchy (Error, DeprecationError, ImplementationError, MiddlewareError, Fault) and execute vs execute! semantics
|
|
126
126
|
Outcomes:
|
|
127
127
|
- outcomes/result.md: Result objects exposing execution state, status, context, and metadata
|
|
@@ -141,6 +141,9 @@ plugins:
|
|
|
141
141
|
- logging.md: Structured logging with multiple formatters (JSON, KeyValue, Logstash, Line, Raw)
|
|
142
142
|
- internationalization.md: Multi-language support for error messages and validations (90+ locales)
|
|
143
143
|
- retries.md: Automatic retry functionality for transient failures with jitter and selective retries
|
|
144
|
+
- idempotency.md: Preventing duplicate execution for retried jobs and webhooks with idempotent_by
|
|
145
|
+
- circuit_breaker.md: Automatic circuit breaking for failing dependencies with threshold, cool-off, and window options
|
|
146
|
+
- stores.md: Shared key/value store for idempotency, rate limits, and cross-worker coordination
|
|
144
147
|
- deprecation.md: Managing deprecated tasks with logging, warnings, or execution prevention
|
|
145
148
|
- outputs.md: Declaring expected context outputs that must be set after task execution
|
|
146
149
|
- workflows.md: Composing multiple tasks into sequential pipelines with conditional execution
|
|
@@ -181,6 +184,10 @@ nav:
|
|
|
181
184
|
- Logging: logging.md
|
|
182
185
|
- Internationalization: internationalization.md
|
|
183
186
|
- Retries: retries.md
|
|
187
|
+
- Idempotency: idempotency.md
|
|
188
|
+
- Locks: locks.md
|
|
189
|
+
- Circuit breaker: circuit_breaker.md
|
|
190
|
+
- Stores: stores.md
|
|
184
191
|
- Deprecation: deprecation.md
|
|
185
192
|
- Outputs: outputs.md
|
|
186
193
|
- Workflows: workflows.md
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cmdx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juan Gomez
|
|
@@ -204,10 +204,12 @@ files:
|
|
|
204
204
|
- LICENSE.txt
|
|
205
205
|
- README.md
|
|
206
206
|
- Rakefile
|
|
207
|
+
- TODO.md
|
|
207
208
|
- lib/cmdx.rb
|
|
208
209
|
- lib/cmdx/.DS_Store
|
|
209
210
|
- lib/cmdx/callbacks.rb
|
|
210
211
|
- lib/cmdx/chain.rb
|
|
212
|
+
- lib/cmdx/circuit_breaker.rb
|
|
211
213
|
- lib/cmdx/coercions.rb
|
|
212
214
|
- lib/cmdx/coercions/array.rb
|
|
213
215
|
- lib/cmdx/coercions/big_decimal.rb
|
|
@@ -236,8 +238,10 @@ files:
|
|
|
236
238
|
- lib/cmdx/executors/thread.rb
|
|
237
239
|
- lib/cmdx/fault.rb
|
|
238
240
|
- lib/cmdx/i18n_proxy.rb
|
|
241
|
+
- lib/cmdx/idempotency.rb
|
|
239
242
|
- lib/cmdx/input.rb
|
|
240
243
|
- lib/cmdx/inputs.rb
|
|
244
|
+
- lib/cmdx/lock.rb
|
|
241
245
|
- lib/cmdx/log_formatters/json.rb
|
|
242
246
|
- lib/cmdx/log_formatters/key_value.rb
|
|
243
247
|
- lib/cmdx/log_formatters/line.rb
|
|
@@ -266,6 +270,10 @@ files:
|
|
|
266
270
|
- lib/cmdx/runtime.rb
|
|
267
271
|
- lib/cmdx/settings.rb
|
|
268
272
|
- lib/cmdx/signal.rb
|
|
273
|
+
- lib/cmdx/store_key.rb
|
|
274
|
+
- lib/cmdx/stores.rb
|
|
275
|
+
- lib/cmdx/stores/memory.rb
|
|
276
|
+
- lib/cmdx/stores/redis.rb
|
|
269
277
|
- lib/cmdx/task.rb
|
|
270
278
|
- lib/cmdx/telemetry.rb
|
|
271
279
|
- lib/cmdx/util.rb
|