mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 16:44:15 +08:00
feat(settings): 支持配置数据任务超时
- 在数据源设置页配置普通任务与分钟 K 长任务超时 - 支持秒、分钟、小时输入,持久化时统一换算为秒 - 保留 1200/1800 秒默认值,配置仅影响新创建的任务
This commit is contained in:
@@ -350,6 +350,11 @@ class DataProvidersIn(BaseModel):
|
||||
financial_data_provider: str | None = None
|
||||
|
||||
|
||||
class DataSourceJobTimeoutPrefs(BaseModel):
|
||||
data_source_job_timeout_s: int = Field(ge=60)
|
||||
data_source_long_job_timeout_s: int = Field(ge=60)
|
||||
|
||||
|
||||
class DatasetFieldMapItem(BaseModel):
|
||||
source: str
|
||||
target: str
|
||||
@@ -413,6 +418,8 @@ def get_preferences() -> dict:
|
||||
"minute_data_provider": preferences.get_minute_data_provider(),
|
||||
"realtime_data_provider": preferences.get_realtime_data_provider(),
|
||||
"financial_data_provider": preferences.get_financial_provider(),
|
||||
"data_source_job_timeout_s": preferences.get_data_source_job_timeout_s(),
|
||||
"data_source_long_job_timeout_s": preferences.get_data_source_long_job_timeout_s(),
|
||||
"realtime_watchlist_symbols": preferences.get_realtime_watchlist_symbols(),
|
||||
**preferences.get_realtime_quote_scope(),
|
||||
"pipeline_pull_a_share": preferences.get_pipeline_pull_a_share(),
|
||||
@@ -616,6 +623,14 @@ def update_data_providers(req: DataProvidersIn) -> dict:
|
||||
}
|
||||
|
||||
|
||||
@router.put("/preferences/data-source-job-timeouts")
|
||||
def update_data_source_job_timeouts(req: DataSourceJobTimeoutPrefs) -> dict:
|
||||
"""保存普通与长数据后台任务的卡死判定时间。"""
|
||||
from app.services import preferences
|
||||
preferences.save(req.model_dump())
|
||||
return req.model_dump()
|
||||
|
||||
|
||||
@router.get("/preferences/watchlist-columns")
|
||||
def get_watchlist_columns() -> dict:
|
||||
"""返回自选列表列配置。"""
|
||||
|
||||
Reference in New Issue
Block a user