mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 04:15:52 +08:00
feat: introduce APP_MAX_EXECUTION_TIME (#5167)
This commit is contained in:
parent
cdc08a434f
commit
0cccf9c67d
@ -203,3 +203,6 @@ INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=1000
|
|||||||
WORKFLOW_MAX_EXECUTION_STEPS=500
|
WORKFLOW_MAX_EXECUTION_STEPS=500
|
||||||
WORKFLOW_MAX_EXECUTION_TIME=1200
|
WORKFLOW_MAX_EXECUTION_TIME=1200
|
||||||
WORKFLOW_CALL_MAX_DEPTH=5
|
WORKFLOW_CALL_MAX_DEPTH=5
|
||||||
|
|
||||||
|
# App configuration
|
||||||
|
APP_MAX_EXECUTION_TIME=1200
|
@ -85,6 +85,7 @@ DEFAULTS = {
|
|||||||
'WORKFLOW_MAX_EXECUTION_STEPS': 500,
|
'WORKFLOW_MAX_EXECUTION_STEPS': 500,
|
||||||
'WORKFLOW_MAX_EXECUTION_TIME': 1200,
|
'WORKFLOW_MAX_EXECUTION_TIME': 1200,
|
||||||
'WORKFLOW_CALL_MAX_DEPTH': 5,
|
'WORKFLOW_CALL_MAX_DEPTH': 5,
|
||||||
|
'APP_MAX_EXECUTION_TIME': 1200,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -372,6 +373,7 @@ class Config:
|
|||||||
self.WORKFLOW_MAX_EXECUTION_STEPS = int(get_env('WORKFLOW_MAX_EXECUTION_STEPS'))
|
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_MAX_EXECUTION_TIME = int(get_env('WORKFLOW_MAX_EXECUTION_TIME'))
|
||||||
self.WORKFLOW_CALL_MAX_DEPTH = int(get_env('WORKFLOW_CALL_MAX_DEPTH'))
|
self.WORKFLOW_CALL_MAX_DEPTH = int(get_env('WORKFLOW_CALL_MAX_DEPTH'))
|
||||||
|
self.APP_MAX_EXECUTION_TIME = int(get_env('APP_MAX_EXECUTION_TIME'))
|
||||||
|
|
||||||
# Moderation in app Configurations.
|
# Moderation in app Configurations.
|
||||||
self.OUTPUT_MODERATION_BUFFER_SIZE = int(get_env('OUTPUT_MODERATION_BUFFER_SIZE'))
|
self.OUTPUT_MODERATION_BUFFER_SIZE = int(get_env('OUTPUT_MODERATION_BUFFER_SIZE'))
|
||||||
|
@ -5,6 +5,7 @@ from collections.abc import Generator
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from flask import current_app
|
||||||
from sqlalchemy.orm import DeclarativeMeta
|
from sqlalchemy.orm import DeclarativeMeta
|
||||||
|
|
||||||
from core.app.entities.app_invoke_entities import InvokeFrom
|
from core.app.entities.app_invoke_entities import InvokeFrom
|
||||||
@ -46,8 +47,8 @@ class AppQueueManager:
|
|||||||
Listen to queue
|
Listen to queue
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
# wait for 10 minutes to stop listen
|
# wait for APP_MAX_EXECUTION_TIME seconds to stop listen
|
||||||
listen_timeout = 600
|
listen_timeout = current_app.config.get("APP_MAX_EXECUTION_TIME")
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
last_ping_time = 0
|
last_ping_time = 0
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user