Skip to content
GitHub

Configuration

Config section: workflow (config_key in WorkflowProvider, config_model = BulkOperationConfig).

The graph engine has a separate config (GraphConfig) registered as a singleton; its env vars use the prefix LEX_WORKFLOW__GRAPH__.

Environment variable prefix: LEX_WORKFLOW__ (e.g. LEX_WORKFLOW__BATCH_SIZE=200).

Defined in lexigram.workflow.config.BulkOperationConfig.

KeyTypeDefaultEnv varDescription
batch_sizeint10LEX_WORKFLOW__BATCH_SIZEItems per batch
max_concurrencyint5LEX_WORKFLOW__MAX_CONCURRENCYMax concurrent operations
timeoutfloat300.0LEX_WORKFLOW__TIMEOUTOperation timeout in seconds
retry_attemptsint3LEX_WORKFLOW__RETRY_ATTEMPTSRetry attempts on failure
retry_delayfloat1.0LEX_WORKFLOW__RETRY_DELAYDelay between retries (seconds)
enable_progress_trackingboolTrueLEX_WORKFLOW__ENABLE_PROGRESS_TRACKINGTrack operation progress
circuit_breaker_configCircuitBreakerConfig | NoneNoneCircuit breaker for bulk ops
pipeline_timeoutfloat60.0LEX_WORKFLOW__PIPELINE_TIMEOUTDefault pipeline timeout (seconds)

Environment variable prefix: LEX_WORKFLOW__GRAPH__ (e.g. LEX_WORKFLOW__GRAPH__ENABLED=false).

Defined in lexigram.workflow.config.GraphConfig.

KeyTypeDefaultEnv varDescription
enabledboolTrueLEX_WORKFLOW__GRAPH__ENABLEDEnable graph subsystem
max_iterationsint25LEX_WORKFLOW__GRAPH__MAX_ITERATIONSMax traversal steps (anti-loop)
node_timeoutfloat120.0LEX_WORKFLOW__GRAPH__NODE_TIMEOUTPer-node timeout (0 = no limit)
total_timeoutfloat0.0LEX_WORKFLOW__GRAPH__TOTAL_TIMEOUTTotal workflow timeout (0 = no limit)
checkpoint_enabledboolFalseLEX_WORKFLOW__GRAPH__CHECKPOINT_ENABLEDPersist checkpoints for resumption
parallel_branchesboolTrueLEX_WORKFLOW__GRAPH__PARALLEL_BRANCHESExecute parallel branches via asyncio.gather
max_parallel_branchesint0LEX_WORKFLOW__GRAPH__MAX_PARALLEL_BRANCHESMax parallel branches (0 = unlimited)
workflow:
batch_size: 100
max_concurrency: 10
timeout: 600.0
retry_attempts: 5
retry_delay: 2.0
enable_progress_tracking: true
pipeline_timeout: 120.0
Terminal window
export LEX_WORKFLOW__BATCH_SIZE=200
export LEX_WORKFLOW__MAX_CONCURRENCY=20
export LEX_WORKFLOW__GRAPH__ENABLED=true
export LEX_WORKFLOW__GRAPH__CHECKPOINT_ENABLED=true
export LEX_WORKFLOW__GRAPH__MAX_ITERATIONS=50

The WorkflowProvider resolves BulkOperationConfig from the application config via LexigramConfig.get_section("workflow", BulkOperationConfig). GraphConfig is instantiated separately and registered as a singleton.