扩展外部生成Worker队列
新增外部生成队列概览和单任务状态契约 将跳一跳、拼消消、敲木鱼图片生成动作接入worker队列 前端生成等待页展示当前任务和队列数量 更新外部生成worker运维文档和团队决策记录
This commit is contained in:
49
src/services/external-generation/externalGenerationClient.ts
Normal file
49
src/services/external-generation/externalGenerationClient.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import type {
|
||||
ExternalGenerationJobStatusResponse,
|
||||
ExternalGenerationQueueOverviewResponse,
|
||||
} from '../../../packages/shared/src/contracts/externalGeneration';
|
||||
import { BACKGROUND_AUTH_REQUEST_OPTIONS, requestJson } from '../apiClient';
|
||||
|
||||
const EXTERNAL_GENERATION_API_BASE = '/api/runtime/external-generation';
|
||||
const EXTERNAL_GENERATION_READ_OPTIONS = {
|
||||
...BACKGROUND_AUTH_REQUEST_OPTIONS,
|
||||
retry: {
|
||||
maxRetries: 1,
|
||||
baseDelayMs: 200,
|
||||
maxDelayMs: 600,
|
||||
},
|
||||
} as const;
|
||||
|
||||
export async function getExternalGenerationQueueOverview(
|
||||
signal?: AbortSignal,
|
||||
) {
|
||||
return requestJson<ExternalGenerationQueueOverviewResponse>(
|
||||
`${EXTERNAL_GENERATION_API_BASE}/queue-overview`,
|
||||
{
|
||||
method: 'GET',
|
||||
signal,
|
||||
},
|
||||
'读取生成队列状态失败',
|
||||
EXTERNAL_GENERATION_READ_OPTIONS,
|
||||
);
|
||||
}
|
||||
|
||||
export async function getExternalGenerationJobStatus(
|
||||
jobId: string,
|
||||
signal?: AbortSignal,
|
||||
) {
|
||||
return requestJson<ExternalGenerationJobStatusResponse>(
|
||||
`${EXTERNAL_GENERATION_API_BASE}/jobs/${encodeURIComponent(jobId)}`,
|
||||
{
|
||||
method: 'GET',
|
||||
signal,
|
||||
},
|
||||
'读取生成任务状态失败',
|
||||
EXTERNAL_GENERATION_READ_OPTIONS,
|
||||
);
|
||||
}
|
||||
|
||||
export const externalGenerationClient = {
|
||||
getQueueOverview: getExternalGenerationQueueOverview,
|
||||
getJobStatus: getExternalGenerationJobStatus,
|
||||
};
|
||||
5
src/services/external-generation/index.ts
Normal file
5
src/services/external-generation/index.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export {
|
||||
externalGenerationClient,
|
||||
getExternalGenerationJobStatus,
|
||||
getExternalGenerationQueueOverview,
|
||||
} from './externalGenerationClient';
|
||||
Reference in New Issue
Block a user