Add WORKFLOW_CALL_MAX_DEPTH env var. (#4713)

This commit is contained in:
majian 2024-05-29 13:39:11 +08:00 committed by GitHub
parent 705a6e3a8e
commit 72a90074bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 4 deletions

View File

@ -182,3 +182,8 @@ LOG_FILE=
# Indexing configuration
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=1000
# Workflow runtime configuration
WORKFLOW_MAX_EXECUTION_STEPS=50
WORKFLOW_MAX_EXECUTION_TIME=600
WORKFLOW_CALL_MAX_DEPTH=5

View File

@ -83,6 +83,7 @@ DEFAULTS = {
'INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH': 1000,
'WORKFLOW_MAX_EXECUTION_STEPS': 50,
'WORKFLOW_MAX_EXECUTION_TIME': 600,
'WORKFLOW_CALL_MAX_DEPTH': 5,
}
@ -324,6 +325,7 @@ class Config:
self.WORKFLOW_MAX_EXECUTION_STEPS = int(get_env('WORKFLOW_MAX_EXECUTION_STEPS'))
self.WORKFLOW_MAX_EXECUTION_TIME = int(get_env('WORKFLOW_MAX_EXECUTION_TIME'))
self.WORKFLOW_CALL_MAX_DEPTH = int(get_env('WORKFLOW_CALL_MAX_DEPTH'))
# Moderation in app Configurations.
self.OUTPUT_MODERATION_BUFFER_SIZE = int(get_env('OUTPUT_MODERATION_BUFFER_SIZE'))

View File

@ -54,8 +54,6 @@ node_classes = {
NodeType.PARAMETER_EXTRACTOR: ParameterExtractorNode
}
WORKFLOW_CALL_MAX_DEPTH = 5
logger = logging.getLogger(__name__)
@ -128,8 +126,9 @@ class WorkflowEngineManager:
user_inputs=user_inputs
)
if call_depth > WORKFLOW_CALL_MAX_DEPTH:
raise ValueError('Max workflow call depth reached.')
workflow_call_max_depth = current_app.config.get("WORKFLOW_CALL_MAX_DEPTH")
if call_depth > workflow_call_max_depth:
raise ValueError('Max workflow call depth {} reached.'.format(workflow_call_max_depth))
# init workflow run state
workflow_run_state = WorkflowRunState(