@if ($showHeader)

{{ __('Failed Jobs') }}

{{ __('Jobs that have failed and need attention') }}

{{ $failedJobs->total() }} {{ trans_choice('job|jobs', $failedJobs->total()) }} {{ __('found') }}
@if ($showRetryAll && $failedJobs->count() > 0) @endif @if ($showDeleteAll && $failedJobs->count() > 0) @endif
@endif
@if ($failedJobs->count() > 0)
@foreach ($failedJobs as $job) @php $payload = json_decode($job->payload, true); $jobClass = $payload['displayName'] ?? 'Unknown Job'; // Extract just the class name without namespace $shortJobClass = last(explode('\\', $jobClass)); $exception = $job->exception; // Extract just the error message from the exception $errorMessage = __('Unknown error'); if ($exception) { $lines = explode("\n", $exception); $errorMessage = trim($lines[0] ?? __('Unknown error')); if (strlen($errorMessage) > 80) { $errorMessage = substr($errorMessage, 0, 77) . '...'; } } @endphp @endforeach
{{ __('ID') }} {{ __('Queue') }} {{ __('Job Class') }} {{ __('Error') }} {{ __('Failed At') }} {{ __('Actions') }}
#{{ $job->id }} {{ $job->queue ?? 'default' }} {{ $shortJobClass }}
{{ $errorMessage }}
{{ \Carbon\Carbon::parse($job->failed_at)->format('M d, H:i') }}
@if ($failedJobs->hasPages())
{{ $failedJobs->links() }}
@endif @else

{{ __('No failed jobs') }}

{{ __('Great! There are no failed jobs in the system.') }}

@endif