Round 4 fixes: scheduler DB save check, empty validation_targets, proxy list page fallback, scheduler frontend state sync, tests
This commit is contained in:
@@ -41,7 +41,7 @@ async def lifespan(app: FastAPI):
|
||||
connect_timeout=app_settings.validator_connect_timeout,
|
||||
max_concurrency=db_settings.get("default_concurrency", app_settings.validator_max_concurrency),
|
||||
)
|
||||
if db_settings.get("validation_targets"):
|
||||
if db_settings.get("validation_targets") is not None:
|
||||
validator.update_test_urls(db_settings["validation_targets"])
|
||||
|
||||
# 验证 WorkerPool
|
||||
|
||||
@@ -13,7 +13,9 @@ router = APIRouter(prefix="/api/scheduler", tags=["scheduler"])
|
||||
async def _save_auto_validate_setting(enabled: bool, settings_repo: SettingsRepository):
|
||||
"""保存自动验证设置"""
|
||||
async with get_db() as db:
|
||||
await settings_repo.save(db, {"auto_validate": enabled})
|
||||
success = await settings_repo.save(db, {"auto_validate": enabled})
|
||||
if not success:
|
||||
raise RuntimeError("保存自动验证设置失败")
|
||||
|
||||
|
||||
@router.post("/start")
|
||||
|
||||
@@ -50,7 +50,7 @@ async def save_settings(
|
||||
validator._init_timeout = request.validation_timeout
|
||||
validator._init_connect_timeout = request.validation_timeout
|
||||
validator._init_max_concurrency = request.default_concurrency
|
||||
if request.validation_targets:
|
||||
if request.validation_targets is not None:
|
||||
validator.update_test_urls(request.validation_targets)
|
||||
# 先关闭现有 session,再重置 semaphore,避免竞态窗口
|
||||
await validator.close()
|
||||
|
||||
Reference in New Issue
Block a user