push method
Pushes a QueueJob to the queue with optional delay.
The delay allows deferring the job execution.
Example:
await queueDriver.push(SendEmailJob(), delay: Duration(seconds: 30));
Implementation
@override
Future<void> push(QueueJob job, {Duration? delay}) async {
final context = createJobContext(job, delay: delay);
// Track metrics
if (metrics != null) {
metrics!.jobQueued(job.runtimeType.toString());
}
// Handle delay
if (delay != null && delay > Duration.zero) {
await Future.delayed(delay);
}
// Execute immediately
await executeJob(context);
}