Skip to content

feat: DLQ Management – failed action collection, re-drive API & purge (#261)#355

Merged
EDOHWARES merged 2 commits intoEDOHWARES:mainfrom
DevSolex:feat/dlq-management-api
May 1, 2026
Merged

feat: DLQ Management – failed action collection, re-drive API & purge (#261)#355
EDOHWARES merged 2 commits intoEDOHWARES:mainfrom
DevSolex:feat/dlq-management-api

Conversation

@DevSolex
Copy link
Copy Markdown
Contributor

Summary

Implements #261 — Backend: DLQ Management UI and Re-drive API Endpoint.

Closes #261

Changes

  • FailedAction model — dedicated failed_actions MongoDB collection with a pending → redriving → resolved / purged status lifecycle
  • dlq.servicerecordFailure, listFailures, redriveOne, redriveAll, purge, getStats
  • dlq.controller + dlq.routes — 5 REST endpoints with full Swagger/OpenAPI annotations
  • poller.js — automatically records failures into the DLQ after all retries are exhausted
  • app.js — registers /api/dlq routes
  • docs/dlq.md — full documentation with API reference and usage examples

API Endpoints

Method Path Description
GET /api/dlq/stats Counts per status
GET /api/dlq/entries Paginated list with filters
POST /api/dlq/entries/:id/redrive Re-drive a single entry
POST /api/dlq/redrive-all Retry all pending entries
POST /api/dlq/purge Soft-delete by status/triggerId/age

Tests

7 unit tests added in backend/test/dlq.test.js — all passing.

- Add FailedAction model (failed_actions collection) with status lifecycle
- Add dlq.service: recordFailure, listFailures, redriveOne, redriveAll, purge, getStats
- Add dlq.controller and dlq.routes with full Swagger/OpenAPI annotations
- Register /api/dlq routes in app.js
- Hook DLQ recording into poller.js failure catch block
- Add 7 unit tests (all passing) in backend/test/dlq.test.js
- Add docs/dlq.md documentation

Closes EDOHWARES#261
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 27, 2026

@DevSolex Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@EDOHWARES
Copy link
Copy Markdown
Owner

Nice implementation, lgtm!

@EDOHWARES EDOHWARES merged commit f62ebf4 into EDOHWARES:main May 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Backend: DLQ Management UI and Re-drive API Endpoint

2 participants