Skip to content

Implement prioritized transaction queues and scheduled batch submission #501

Description

@Just-Bamford

Description

Problem

Transaction submission currently provides no high-level scheduling or prioritization model. Applications processing large workloads must manage ordering, retries, and batching themselves.

Solution

Introduce a transaction queue supporting low, normal, high, and critical priorities. The queue should schedule eligible transactions, group compatible submissions, and preserve ordering where transactions depend on one another.

Acceptance Criteria

  • Transactions can be queued with a configurable priority
  • Critical and high-priority transactions are processed ahead of lower priorities
  • Batch size and scheduling intervals are configurable
  • Dependent transactions cannot execute before their prerequisites
  • Failed submissions return to the queue according to retry policy
  • Duplicate transaction entries are prevented
  • Queue state exposes pending, processing, completed, and failed items
  • Tests cover priority ordering, batching, retries, dependencies, and cancellation
  • Existing direct submission APIs remain unaffected

Note for Contributors

Avoid coupling queue state to a specific application runtime. Keep scheduling deterministic for tests and ensure a failed batch does not silently discard unrelated transactions.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackendBackend / SDK logicenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions