onJobFailed method

  1. @override
Future<void> onJobFailed(
  1. JobContext context
)
override

Called when a job fails permanently

Implementation

@override
Future<void> onJobFailed(JobContext context) async {
  final command = await _getConnection();

  // Move to failed queue
  final jobData = {
    ...context.toJson(),
    'payload': context.job.toJson(),
    'error': context.error?.toString(),
    'stackTrace': context.stackTrace?.toString(),
    'failedAt': DateTime.now().toIso8601String(),
  };

  await command.send_object([
    'LPUSH',
    _failedQueue,
    jsonEncode(jobData),
  ]);
}