Home - nshaibu/volnux GitHub Wiki
Welcome to the Volnux wiki!
Introduction
Simplify complex process automation with a flexible, high-performance framework.
This library tackles the challenges of building reliable, scalable workflows by providing a clear separation between coordination and execution. It uses a declarative DSL, Pointy-Lang, to model your pipelines while managing the underlying complexity of concurrency, state, and task dependencies.
Build resilient automation that can handle anything from simple data processing to distributed, event-driven systems.
Features
- Pointy-Lang DSL: Define task dependencies, conditional logic, and parallel execution using an intuitive, graph-based syntax.
- Hybrid Concurrency: Leverage asyncio for non-blocking I/O and multiprocessing for true parallel execution of CPU-bound tasks.
- Distributed Processing: Supports remote task execution and manages state across multiple processes with minimal overhead.
- Extensible Architecture: Easily integrate custom event logic, task executors, and signals to fit any use case.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ExecutionCoordinator β
β β’ Lifecycle management (setup, run, error handling, cleanup) β
β β’ Timeout enforcement β
β β’ Result processing β
β β’ State management β
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββ
β
β dispatch execution context
β (state + task profiles)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Flow Engine β
β β’ setup_execution_flow() determines flow type β
ββββββββββ¬βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β β
β is_multitask()? β
βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ
β ParallelFlow β β SingleFlow β
β β β β
β β’ Multiple β β β’ Single event β
β events β β execution β
β β’ Concurrent β β β
β execution β β β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β
β both submit to β
βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Executor Interface β
β (concurrent.futures.Executor) β
βββββ¬ββββββββββββββ¬ββββββββββββββ¬ββββββββββββββ¬ββββββββββββββββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββββββ
β Default β β Thread β β Process β β Remote Executors β
βExecutor β β Pool β β Pool β β (gRPC, RPC, etc) β
β β β β β β β β
β Same β β Thread- β β Process- β β Distributed β
β thread β β based β β based β β execution β
βββββββββββ ββββββββββββ ββββββ¬ββββββ ββββββββββββββββββββ
β
β managed by
βΌ
ββββββββββββββββββββββββββββ
β VolnuxPoolManager β
β (Singleton) β
β β
β β’ Lifecycle management β
β β’ Context tracking β
β β’ Worker cap (fork bomb β
β prevention) β
β β’ Multi-backend support β
ββββββββββββββββββββββββββββ