Module: CDC::Parallel
- Defined in:
- lib/cdc/parallel.rb,
lib/cdc/parallel/errors.rb,
lib/cdc/parallel/router.rb,
lib/cdc/parallel/runtime.rb,
lib/cdc/parallel/version.rb,
lib/cdc/parallel/configuration.rb,
lib/cdc/parallel/processor_pool.rb,
lib/cdc/parallel/result_collector.rb,
lib/cdc/parallel/transaction_pool.rb
Overview
Optional parallel Change Data Capture runtime for ‘cdc-core` processors.
‘CDC::Parallel` is the CPU-bound execution layer of the CDC Ecosystem. It consumes work items that have already been normalized into `cdc-core` vocabulary objects and executes Ractor-safe processors across pre-warmed worker Ractors.
The namespace intentionally avoids ‘CDC::Ractor` so it does not collide with Ruby’s core ‘::Ractor` constant.
## Boundary
‘cdc-parallel` does not connect to PostgreSQL, parse `pgoutput`, decode values, normalize source payloads, or persist sink data. Those concerns live upstream in `pgoutput-*` libraries, source adapters, and downstream sinks.
## Main entry points
-
Runtime - high-level facade for events and transactions
-
ProcessorPool - low-level Ractor worker pool
-
TransactionPool - transaction-envelope wrapper
-
Router - work item router
Defined Under Namespace
Classes: Configuration, Error, ProcessorExecutionError, ProcessorPool, ResultCollector, Router, Runtime, ShutdownError, TimeoutError, TransactionPool, UnsafeProcessorError, UnsupportedWorkItemError
Constant Summary collapse
- VERSION =
Current cdc-parallel version.
This constant is used by RubyGems and by applications that need to inspect the loaded runtime version at boot time.
"0.2.3"