Skip to content

Add idempotency and durable retry-state handling to the queue layer #543

Description

@grantfox-oss

Prevent duplicate execution and improve operator recoverability by attaching idempotency keys, retry metadata, and bounded requeue behavior to background jobs.

  • Affected files: app/backend/src/job-queue/job-queue.module.ts, app/backend/src/job-queue/, app/backend/src/exports/exports.service.ts, app/backend/src/reconciliation/, app/backend/src/notifications/notification-log.repository.ts, app/backend/src/links/recurring-payments.scheduler.ts, app/backend/src/marketplace/marketplace.service.ts, app/backend/test/queue.integration.spec.ts
  • Acceptance criteria:
    • Replayed or retried jobs are recognized as duplicates and do not create conflicting side effects.
    • Failed jobs retain structured retry metadata for debugging and operator inspection.
    • Queue semantics and recovery expectations are documented and validated in integration tests.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignenhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions