A run does not progress#

You opened the dashboard and a run stays where it was, or the list shows nothing. Each entry below starts from what the page says. None of these states loses a step already recorded: the journal (the recorded steps of an execution) keeps every completed step, and the run resumes at the first one missing.

The line says waiting for a worker · 42 s#

The run was dispatched and nothing has consumed it. The queue has no worker, or its worker is stopped. Start one:

The line disappears when a worker picks the run up. Sylius and Filament also count these runs under Waiting for a worker.

The run is running and carries no such line#

A worker has picked it up. Read the waiting on line: a timer, an activity attempt or a condition explains the wait, and a condition names where it is written, or the label given to await(). If the wait is a Nexus operation, the operations table says whether it is in flight.

The list is empty#

The message above the list says which of three cases you are in.

The page says Cause Action
No readable backend is configured No backend serves the dashboard Configure one, see Backends
The backend cannot be reached The named backend is down Restart it
The journal dies with the request The in-memory backend under PHP-FPM: the request that renders the page executed no workflow Configure a backend shared across processes

Magento has no banner for the first case: it reads the in-memory backend when nothing else is configured.

No worker is polling on Temporal#

Nothing fails: an execution stops at its first task of that kind. On Sylius and Magento, the dashboard names each role whose queue has no poller. From a shell, bin/console durable:health exits non-zero when a role’s queue has gone two minutes without a poll, and names the durable:worker --role to start.

No worker is draining the tables on the Magento database backend#

Nothing fails: the run stays queued in the journal’s tables. The Magento grid shows waiting for a worker for a running execution that no worker has picked up, from the picked_up_at column of the runs table. The database backend has the journal and activity roles only: start bin/magento durable:worker --role=journal and --role=activity, or run it without --role to drain both. durable:health only checks that the journal database answers; the grid shows a run that waits for a worker.

waiting for a worker never appears#

The backend records no pickup time. The SQL backends and the Magento database backend record it, on a runs table that has the picked_up_at column (see Upgrading for a table created before it existed). Temporal records none the run list can read, so no grid shows it there: Temporal UI lists the pending tasks.

The name and id filters are missing#

Both filters appear only where the backend can apply them. On Temporal, turn on the search attributes.

See also#