kreitje/nova-horizon-stats

A Laravel Nova card.

Installs: 162 961

Dependents: 0

Suggesters: 0

Security: 0

Stars: 29

Watchers: 3

Forks: 2

Open Issues: 3

Language:Vue

v0.3 2018-08-25 13:27 UTC

This package is not auto-updated.

Last update: 2024-04-14 03:17:42 UTC


README

For sites that use Laravel Horizon, this provides a few cards to show stats you will find on /horizon.

horizon stats screenshot

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require kreitje/nova-horizon-stats

In your app/Providers/NovaServiceProvider.php add the cards to the cards method array.

Usage:

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour,
        new \Kreitje\NovaHorizonStats\FailedJobsPastHour,
        new \Kreitje\NovaHorizonStats\Processes,
        new \Kreitje\NovaHorizonStats\Workload
    ];
}

You can pass an argument into the classes for how many seconds to automatically refresh. It defaults to the 30 seconds.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour(5),
        new \Kreitje\NovaHorizonStats\FailedJobsPastHour(10),
        new \Kreitje\NovaHorizonStats\Processes(15),
        new \Kreitje\NovaHorizonStats\Workload(30),
    ];
}

If you want to change the title of the cards, pass a second argument to the card classes.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\JobsPastHour(5, 'Jobs from the past hour')
    ];
}

The Workload card allows you to only watch for specific queues running. To only show specific queues, the third parameter takes an array of queue names.

public function cards() {
    return [
        new \Kreitje\NovaHorizonStats\Workload(5, 'Queue Workload', ['default', 'encoding'])
    ];
}

License

The MIT License (MIT). Please see License File for more information.