retryJob method

  1. @override
Future<void> retryJob(
  1. JobContext context, {
  2. required Duration delay,
})
override

Retry a failed job

Implementation

@override
Future<void> retryJob(JobContext context, {required Duration delay}) async {
  final command = await _getConnection();

  final jobData = {
    ...context.toJson(),
    'payload': context.job.toJson(),
  };

  // Schedule retry
  final retryTime = DateTime.now().add(delay);
  await command.send_object([
    'ZADD',
    _delayedQueue,
    retryTime.millisecondsSinceEpoch.toString(),
    jsonEncode(jobData),
  ]);
}