Show failed jobs to an admin

queue:failed-table stores the failure. An admin page may show the name and the time. It does not show the payload.

For your AI agent

Copies a prompt. Paste it into the AI agent you already have open.

Read https://laravel-vuejs.space/laravel-failed-jobs-table-vue.md
queue:failed-table stores the failure. An admin page may show the name and the time. It does not show the payload.
Do not put payload or exception in an Inertia prop.
Do not let every signed-in user open this list.
Show the diff. Do not commit.
On this page · 3 sections
  1. The fix
  2. What to avoid
  3. FAQ

People searching “Laravel failed jobs Vue” render the exception column in the page. That text can include request data. Store the failures, and show an admin the safe columns. The queue guide is the happy path.

TL;DR

  • queue:failed-table stores the failure.
  • An admin page may show the name and the time.
  • It does not show the payload.
  • Do not put payload or exception in an Inertia prop.

Who it's for: Laravel + Vue developers

Applies to: Laravel 13 · Vue 3

The fix#

shell
php artisan queue:failed-table
php artisan migrate

QUEUE_CONNECTION has to be something that records failures. sync runs the job in the request and does not use this table.

An admin page can pass:

php
'failed' => DB::table('failed_jobs')->orderByDesc('id')->limit(20)->get(['id', 'uuid', 'failed_at']),

Retry from a command you trust, not from a public button:

shell
php artisan queue:retry all

What to avoid#

Gotcha

Do not put payload or exception in an Inertia prop. Do not let every signed-in user open this list. A failed mail job is not their business unless they administer the app.

FAQ#

How do I show failed jobs to an admin?

queue:failed-table stores the failure. An admin page may show the name and the time. It does not show the payload.

What goes wrong with Laravel failed jobs Vue?

Many developers render the exception column in the page. Do not put payload or exception in an Inertia prop.

Found this useful?

Ask questions, share what you built.

Join thousands of Laravel and Vue developers in our Facebook group, or get new posts in your Telegram feed. Sharing this article helps too.

Keep reading

Newsletter

Get the best of Laravel & Vue, once a month.

One short email with new guides, release notes worth reading and hand-picked community links. No spam, unsubscribe any time.