Queue class
High-level facade for the queue system.
Queue provides a clean API for dispatching jobs, managing workers, monitoring metrics, and inspecting the dead letter queue.
final queue = Queue(driver: MemoryQueueDriver());
queue.dispatch(SendEmailJob('[email protected]', 'Hello!'));
queue.work(concurrency: 4, maxJobsPerSecond: 10);
Constructors
- Queue({required QueueDriver driver})
Properties
- driver → QueueDriver
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isProcessing → bool
-
Returns
trueif a worker is currently running.no setter - metrics → QueueMetrics
-
Metrics collector tracking throughput, failures, and processing times.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
stats
→ Map<
String, dynamic> -
Returns a snapshot of current metrics (throughput, failures, timing, etc).
no setter
Methods
-
clear(
[String queue = 'default']) → Future< void> -
Clears all jobs from the specified
queue. -
clearDeadLetters(
) → Future< void> - Clears the dead letter queue.
-
deadLetters(
) → Future< List< Map< >String, dynamic> > - Returns all permanently failed jobs from the dead letter queue.
-
dispatch(
Job job) → Future< String> -
Dispatches a
jobto its designated queue for background processing. -
dispatchAfter(
Duration delay, Job job) → Future< String> -
Dispatches a
jobwith a delay before it becomes available. -
dispatchSync(
Job job) → Future< void> -
Dispatches a
joband processes it synchronously (blocks until done). -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pending(
[List< String> queues = const ['default']]) → Future<Map< String, int> > -
Returns the number of pending jobs across specified
queues. -
retryDeadLetter(
String jobId) → Future< bool> -
Retries a dead-letter job by its
jobId, moving it back to the queue. -
stopWorker(
) → Future< void> - Stops the background worker gracefully.
-
toString(
) → String -
A string representation of this object.
inherited
-
work(
{List< String> queues = const ['default'], int concurrency = 1, int maxJobsPerSecond = 0, Duration pollInterval = const Duration(milliseconds: 500), JobEventCallback? onProcess, JobEventCallback? onComplete, JobEventCallback? onRetry, JobEventCallback? onFail, JobEventCallback? onTimeout}) → Future<void> - Starts a background worker to process jobs.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited