feat(queue): 增加非文本模型分布式准入队列
使用 PostgreSQL 统一同步与异步非文本任务的并发准入、持久化等待和 Worker 容量分配,并将生产 API 与独立 Worker 角色拆分。 补充策略管理、共享契约、OpenAPI、Kubernetes 双节点 Worker 清单及跨节点验收脚本;未默认启用任何生产 queue_size 策略。 已在原基线完成 Go、前端、迁移、Shell、Kustomize 与长任务容量验收;合入最新主干后将重新执行发布门禁。
This commit is contained in:
@@ -114,7 +114,9 @@ rollback_before_commit() {
|
||||
if [[ $traffic_committed == false ]]; then
|
||||
echo '[cutover] rolling back to the frozen Docker database' >&2
|
||||
k3s kubectl scale deployment -n easyai \
|
||||
easyai-api-ningbo easyai-api-hongkong easyai-web-ningbo easyai-web-hongkong \
|
||||
easyai-api-ningbo easyai-api-hongkong \
|
||||
easyai-worker-ningbo easyai-worker-hongkong \
|
||||
easyai-web-ningbo easyai-web-hongkong \
|
||||
--replicas=0 >/dev/null 2>&1 || true
|
||||
docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null 2>&1 || true
|
||||
if [[ -f $old_site_backup ]]; then
|
||||
@@ -312,7 +314,9 @@ set -euo pipefail
|
||||
backup_directory=$(cat /root/.easyai-pre-cutover-backup)
|
||||
[[ $backup_directory == /var/backups/easyai-ai-gateway/pre-cutover-* ]]
|
||||
k3s kubectl scale deployment -n easyai \
|
||||
easyai-api-ningbo easyai-api-hongkong easyai-web-ningbo easyai-web-hongkong \
|
||||
easyai-api-ningbo easyai-api-hongkong \
|
||||
easyai-worker-ningbo easyai-worker-hongkong \
|
||||
easyai-web-ningbo easyai-web-hongkong \
|
||||
--replicas=0 >/dev/null 2>&1 || true
|
||||
docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null
|
||||
install -m 0644 "$backup_directory/nginx-site.conf" \
|
||||
@@ -325,7 +329,7 @@ REMOTE
|
||||
}
|
||||
trap rollback_local_before_commit ERR
|
||||
|
||||
echo '[cutover] starting both application sites with River workers frozen'
|
||||
echo '[cutover] starting both application sites with dedicated workers frozen'
|
||||
AI_GATEWAY_ACTIVATE_WORKERS=false \
|
||||
"$script_dir/bootstrap-platform.sh" activate "$release_manifest"
|
||||
|
||||
@@ -352,12 +356,10 @@ echo '[cutover] traffic committed; enabling Hong Kong worker, then Ningbo worker
|
||||
cluster_ssh "$CLUSTER_NINGBO_HOST" 'bash -s' <<'REMOTE'
|
||||
set -euo pipefail
|
||||
kubectl='k3s kubectl'
|
||||
$kubectl set env deployment/easyai-api-hongkong -n easyai \
|
||||
AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED=true
|
||||
$kubectl rollout status deployment/easyai-api-hongkong -n easyai --timeout=300s
|
||||
$kubectl set env deployment/easyai-api-ningbo -n easyai \
|
||||
AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED=true
|
||||
$kubectl rollout status deployment/easyai-api-ningbo -n easyai --timeout=300s
|
||||
$kubectl scale deployment/easyai-worker-hongkong -n easyai --replicas=1
|
||||
$kubectl rollout status deployment/easyai-worker-hongkong -n easyai --timeout=300s
|
||||
$kubectl scale deployment/easyai-worker-ningbo -n easyai --replicas=1
|
||||
$kubectl rollout status deployment/easyai-worker-ningbo -n easyai --timeout=300s
|
||||
backup_resource=$(cat <<'EOF' | $kubectl create -f - -o name
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Backup
|
||||
|
||||
Reference in New Issue
Block a user