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.
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: CMDx::Fault raised by execute! with task class, signal, and cleaned backtrace
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.2.0
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