Skip to content

Commit 1df9c47

Browse files
committed
add retry logic
1 parent 4852305 commit 1df9c47

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

components/server/src/ide-service.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,22 @@ export class IDEService {
4343
}
4444

4545
async resolveWorkspaceConfig(req: ResolveWorkspaceConfigRequest): Promise<ResolveWorkspaceConfigResponse> {
46-
return this.ideService.resolveWorkspaceConfig(req);
46+
for (let attempt = 0; attempt < 15; attempt++) {
47+
if (attempt != 0) {
48+
await new Promise((resolve) => setTimeout(resolve, 1000));
49+
}
50+
const controller = new AbortController();
51+
setTimeout(() => controller.abort(), 1000);
52+
try {
53+
const resp = await this.ideService.resolveWorkspaceConfig(req, {
54+
signal: controller.signal,
55+
});
56+
return resp;
57+
} catch (e) {
58+
console.error("ide-service: failed to resolve workspace config: ", e);
59+
}
60+
}
61+
throw new Error("failed to resolve workspace IDE configuration");
4762
}
4863

4964
resolveGitpodTasks(ws: Workspace, ideConfig: ResolveWorkspaceConfigResponse): TaskConfig[] {

0 commit comments

Comments
 (0)