fix(media): 统一图片结果 URL 化并限制同步 Base64
将上游 URL 直接持久化,内联媒体经对象存储后仅保留 URL 与内部定位元数据;异步轮询、任务详情和幂等重放统一使用零对象读取的 URL 投影,并增加 64KiB 响应门禁。 OpenAI 图片接口接受 url 与 b64_json,同步 Base64 限制为 20MiB 和每 Pod 2 并发;新增历史结果迁移清零门禁、结果指标和 API GOMEMLIMIT。 验证:API go test ./...、go vet、聚焦 race、pnpm openapi、pnpm lint/test/build、迁移安全检查与 docker compose config 均通过。
This commit is contained in:
@@ -57,6 +57,10 @@ func TestMetricsExposeBoundedOutcomesAndState(t *testing.T) {
|
||||
metrics.ObserveObjectStorage("retry", "s3", 0, 0)
|
||||
metrics.ObserveObjectStorage("failover", "s3", 0, 0)
|
||||
metrics.ObserveObjectStorage("all_failed", "", 0, 0)
|
||||
metrics.ObserveResultStorage("upstream_url")
|
||||
metrics.ObserveResultStorage("uploaded")
|
||||
metrics.ObserveResultDelivery("poll_success", 512)
|
||||
metrics.ObserveResultDelivery("poll_oversized", 70<<10)
|
||||
metrics.ObserveAsyncWorkerResize("success")
|
||||
metrics.ObserveConcurrencyLeaseRenewal("success")
|
||||
metrics.ObserveConcurrencyLeaseRenewal("lost")
|
||||
@@ -117,6 +121,11 @@ func TestMetricsExposeBoundedOutcomesAndState(t *testing.T) {
|
||||
`easyai_gateway_storage_channel_failovers_total 1`,
|
||||
`easyai_gateway_storage_all_channels_failed_total 1`,
|
||||
`easyai_gateway_storage_objectified_bytes_total 128`,
|
||||
`easyai_gateway_result_storage_total{outcome="upstream_url"} 1`,
|
||||
`easyai_gateway_result_storage_total{outcome="uploaded"} 1`,
|
||||
`easyai_gateway_result_poll_responses_total 1`,
|
||||
`easyai_gateway_result_poll_response_bytes_total 512`,
|
||||
`easyai_gateway_result_poll_oversized_total 1`,
|
||||
`easyai_gateway_platform_model_rate_limit_utilization{platform_model_id="platform-model-1",metric="concurrent"} 0.750000`,
|
||||
`easyai_gateway_async_worker_resizes_total{outcome="success"} 1`,
|
||||
`easyai_gateway_concurrency_lease_renewals_total{outcome="success"} 1`,
|
||||
|
||||
Reference in New Issue
Block a user