diff --git a/backend/app/services/scheduler/schedule_tenant.py b/backend/app/services/scheduler/schedule_tenant.py index 0b7a4cb..d7bfd85 100644 --- a/backend/app/services/scheduler/schedule_tenant.py +++ b/backend/app/services/scheduler/schedule_tenant.py @@ -137,7 +137,8 @@ def _ensure_tenant_compose(tenant, is_active: bool) -> bool: try: import paramiko code = tenant.code - deploy_dir = f"{settings.TENANT_DEPLOY_BASE}/{code}" + deploy_name = code if is_active else f"{code}-test" + deploy_dir = f"{settings.TENANT_DEPLOY_BASE}/{deploy_name}" compose_path = f"{deploy_dir}/docker-compose.yml" env_path = f"{deploy_dir}/.env" @@ -863,6 +864,7 @@ def run_tenant_check(schedule_log_id: int, db: Session): realm = tenant.code is_active = tenant.status == "active" + deploy_name = tenant.code if is_active else f"{tenant.code}-test" nc_name = f"nc-{tenant.code}" if is_active else f"nc-{tenant.code}-test" oo_name = f"oo-{tenant.code}" if is_active else f"oo-{tenant.code}-test" kc_host = KC_HOST_ACTIVE if is_active else KC_HOST_TRIAL @@ -952,7 +954,7 @@ def run_tenant_check(schedule_log_id: int, db: Session): logger.info(f"NC {nc_name}: not found, ensuring compose/DB and deploying") _ensure_tenant_compose(tenant, is_active) _ensure_nc_db(pg_host, pg_db, pg_port) - ok = docker.ssh_compose_up(tenant.code) + ok = docker.ssh_compose_up(deploy_name) result.nc_result = True if ok else False if not ok: fail_reasons.append("nc: deploy failed") @@ -963,7 +965,7 @@ def run_tenant_check(schedule_log_id: int, db: Session): elif nc_state is False: # 容器存在但已停止 → 重啟 logger.info(f"NC {nc_name}: stopped, restarting") - ok = docker.ssh_compose_up(tenant.code) + ok = docker.ssh_compose_up(deploy_name) result.nc_result = True if ok else False if not ok: fail_reasons.append("nc: start failed") @@ -997,12 +999,12 @@ def run_tenant_check(schedule_log_id: int, db: Session): try: oo_state = docker.check_container_ssh(oo_name) if oo_state is None: - ok = docker.ssh_compose_up(tenant.code) + ok = docker.ssh_compose_up(deploy_name) result.office_result = True if ok else False if not ok: fail_reasons.append("oo: deploy failed") elif oo_state is False: - ok = docker.ssh_compose_up(tenant.code) + ok = docker.ssh_compose_up(deploy_name) result.office_result = True if ok else False if not ok: fail_reasons.append("oo: start failed")