Skip to main content

akhet 0.1.0 copy "akhet: ^0.1.0" to clipboard
akhet: ^0.1.0 copied to clipboard

Queue dashboard for Maat applications: job runs, throughput, and failed-job recovery.

Akhet #

[akhet — Queue dashboard for Maat applications: job runs, throughput, and failed-job recovery.]

The queue dashboard for Maat applications. Akhet is the horizon: it is where you watch the queue come up.

It records one row per finished job attempt, reads Khepri's own tables live for depth and failures, and renders both through a Vizier panel — one panel, one login, one layout, alongside the rest of the admin.

Application.configure(...)
    .withExtensions([akhetExtension])   // the recording half
    .create();

Panel(..., extensions: [akhetVizier()]); // the panel half

Two opt-ins on purpose: a worker process wants the recording and has no panel, and the panel is the only half that needs Vizier.

What it shows #

  • Queues — pending, reserved, delayed, oldest wait, completions, average runtime and failures, per queue.
  • Job runs — every finished attempt, searchable by job, queue and status.
  • Failed jobs — Khepri's failed list, with Retry and Forget.

What it does not do #

Akhet observes workers. It does not supervise them, scale them, or restart them — that belongs to the process supervisor already running the application. This is the main way it differs from Laravel's Horizon; see docs/laravel-differences.md.

Install #

maat akhet:install          # publishes the two panel views

Add ...akhetMigrations to database/migrations.dart, akhetVizier() to the panel's extensions:, and a config/akhet.dart:

final akhet = {
  'enabled': env('AKHET_ENABLED') == 'true',
  'prune_hours': 168,
  'ignore_jobs': ['Heartbeat'],
  'record_completed': true,
};

Off unless the application says otherwise: a dashboard that turns itself on writes a row per job on the day it is installed.

Keep the table small #

schedule.command('akhet:prune').daily();

A command, never a timer the package starts on its own.

Full guide: docs/akhet.md.

0
likes
130
points
178
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Queue dashboard for Maat applications: job runs, throughput, and failed-job recovery.

Repository (GitHub)

License

MIT (license)

Dependencies

khepri, maat, seshat, seshat_maat, vizier

More

Packages that depend on akhet