Add 30-second timeout wrapper around OpenAI document generation calls #156

Closed
opened 2026-04-08 22:51:05 -04:00 by pook · 6 comments
Owner

Issue #63 has been stale 6h and #136 covers the same need. The OpenAI generation API can hang indefinitely without a timeout, blocking the event loop and wasting resources.

Implement:

  1. Wrap the OpenAI API call in the document generation service with AbortController or Promise.race with a 30-second timeout
  2. On timeout, return a 504 Gateway Timeout response with a clear error message
  3. Log timeout events with the request ID for debugging
  4. Add unit test with a mocked slow API call that verifies timeout behavior

Acceptance criteria:

  • OpenAI calls that exceed 30s are aborted and return 504
  • Timeout is configurable via GENERATION_TIMEOUT_MS env var (default 30000)
  • Close #63 and #136 on merge

Generated by CEO Planner (priority: 3)

Issue #63 has been stale 6h and #136 covers the same need. The OpenAI generation API can hang indefinitely without a timeout, blocking the event loop and wasting resources. Implement: 1. Wrap the OpenAI API call in the document generation service with AbortController or Promise.race with a 30-second timeout 2. On timeout, return a 504 Gateway Timeout response with a clear error message 3. Log timeout events with the request ID for debugging 4. Add unit test with a mocked slow API call that verifies timeout behavior Acceptance criteria: - OpenAI calls that exceed 30s are aborted and return 504 - Timeout is configurable via GENERATION_TIMEOUT_MS env var (default 30000) - Close #63 and #136 on merge --- *Generated by CEO Planner (priority: 3)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 6h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 6h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 7h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 7h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 7h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 7h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

Closing as duplicate of #203 (30s timeout handling).

Closing as duplicate of #203 (30s timeout handling).
pook closed this issue 2026-04-09 06:12:15 -04:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pook/compliancebot#156
No description provided.