fix(jump-hop): extend creation timeout

This commit is contained in:
2026-06-05 14:51:22 +08:00
parent 0edcb1b9f1
commit 89f596ea64
3 changed files with 45 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
import { beforeEach, expect, test, vi } from 'vitest';
const requestJsonMock = vi.hoisted(() => vi.fn());
const { createCreationAgentClientMock } = vi.hoisted(() => ({
createCreationAgentClientMock: vi.fn(),
}));
vi.mock('../creation-agent', () => ({
createCreationAgentClient: createCreationAgentClientMock,
}));
vi.mock('../apiClient', () => ({
requestJson: requestJsonMock,
}));
beforeEach(() => {
vi.resetModules();
createCreationAgentClientMock.mockReset();
createCreationAgentClientMock.mockReturnValue({
createSession: vi.fn(),
getSession: vi.fn(),
sendMessage: vi.fn(),
streamMessage: vi.fn(),
executeAction: vi.fn(),
});
requestJsonMock.mockReset();
});
test('jump hop creation keeps image2 generation requests alive long enough', async () => {
await import('./jumpHopClient');
expect(createCreationAgentClientMock).toHaveBeenCalledWith(
expect.objectContaining({
createSessionTimeoutMs: 20 * 60 * 1000,
executeActionTimeoutMs: 20 * 60 * 1000,
}),
);
});

View File

@@ -31,6 +31,8 @@ import {
const JUMP_HOP_API_BASE = '/api/creation/jump-hop/sessions';
const JUMP_HOP_WORKS_API_BASE = '/api/creation/jump-hop/works';
const JUMP_HOP_RUNTIME_API_BASE = '/api/runtime/jump-hop';
// 中文注释跳一跳创作会等待背景图、25 格图集、切片和 OSS 写入,不能沿用共创会话默认 15 秒超时。
const JUMP_HOP_GENERATION_TIMEOUT_MS = 20 * 60 * 1000;
const JUMP_HOP_RUNTIME_READ_RETRY: ApiRetryOptions = {
maxRetries: 1,
baseDelayMs: 120,
@@ -87,6 +89,8 @@ const jumpHopCreationClient = createCreationAgentClient<
streamIncomplete: '跳一跳共创消息流式结果不完整',
executeAction: '执行跳一跳共创操作失败',
},
createSessionTimeoutMs: JUMP_HOP_GENERATION_TIMEOUT_MS,
executeActionTimeoutMs: JUMP_HOP_GENERATION_TIMEOUT_MS,
});
type FlattenedJumpHopWorkProfileResponse = Omit<