- Install Horizon package and configure with default settings - Add HorizonServiceProvider with access gate for super_admin role only - Integrate Horizon dashboard link into Filament admin panel navigation - Update composer dependencies including Horizon and related package updates
179 lines
5.6 KiB
PHP
179 lines
5.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Horizon Domain
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value is the prefix that will be used by Horizon to generate its
|
|
| routes. You are free to change this value to anything you like,
|
|
| such as "admin/horizon" or anything else you'd like it to be.
|
|
|
|
|
*/
|
|
|
|
'domain' => env('HORIZON_DOMAIN'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Horizon Path
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This is the URI path where Horizon will be accessible from. Feel free
|
|
| to change this path to anything you like. Note that the path will be
|
|
| applied after the "domain" value defined above.
|
|
|
|
|
*/
|
|
|
|
'path' => env('HORIZON_PATH', 'horizon'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Horizon Redis Connection
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This is the name of the Redis connection where Horizon will store the
|
|
| information about your jobs. This connection should be defined in
|
|
| your "database" configuration file.
|
|
|
|
|
*/
|
|
|
|
'use' => 'default',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Horizon Redis Prefix
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This prefix will be used when storing all Horizon data in Redis. You
|
|
| may modify the prefix if you are running multiple Horizon instances
|
|
| on the same server to avoid any collision between instances.
|
|
|
|
|
*/
|
|
|
|
'prefix' => env(
|
|
'HORIZON_PREFIX',
|
|
Str::slug(env('APP_NAME', 'laravel'), '_').'_horizon:'
|
|
),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Horizon Route Middleware
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| These middleware will get attached onto each Horizon route, giving you
|
|
| the chance to add your own middleware to this list or change any of
|
|
| the existing middleware. Or, you can simply stick with this list.
|
|
|
|
|
*/
|
|
|
|
'middleware' => ['web', 'auth'],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Queue Wait Time Thresholds
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This option allows you to configure when the queue "wait time" is
|
|
| considered "long", helping you identify which queues are being
|
|
| backed up and need more workers to handle the incoming load.
|
|
|
|
|
*/
|
|
|
|
'waits' => [
|
|
'redis:default' => 60,
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Job Trimming Times
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| These options determine how many minutes Horizon will keep different
|
|
| types of jobs in its database. This helps keep your database small
|
|
| and fast, while still giving you some history for debugging.
|
|
|
|
|
*/
|
|
|
|
'trim' => [
|
|
'recent' => 60,
|
|
'recent_failed' => 10080,
|
|
'failed' => 10080,
|
|
'monitored' => 10080,
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Metrics Configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may configure how many minutes Horizon will keep metrics.
|
|
| These metrics include things like throughput and average wait time
|
|
| for each of your queues, giving you insight into your performance.
|
|
|
|
|
*/
|
|
|
|
'metrics' => [
|
|
'trim_snapshots' => [
|
|
'job' => 24,
|
|
'queue' => 24,
|
|
],
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Fast Termination
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| When this option is enabled, Horizon's "terminate" command will not
|
|
| wait for all jobs to finish before terminating the workers. This
|
|
| can be useful when you need to quickly restart your workers.
|
|
|
|
|
*/
|
|
|
|
'fast_termination' => false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Memory Limit (MB)
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value describes the maximum amount of memory the Horizon master
|
|
| process may consume before it is terminated and restarted. This
|
|
| helps prevent any memory leaks from affecting the entire server.
|
|
|
|
|
*/
|
|
|
|
'memory_limit' => 64,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Queue Worker Configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may define the queue worker settings used by your application
|
|
| in all environments. These settings determine how many workers will
|
|
| be used for each environment's respective queues.
|
|
|
|
|
*/
|
|
|
|
'environments' => [
|
|
'production' => [
|
|
'supervisor-1' => [
|
|
'maxProcesses' => 10,
|
|
'balanceMaxShift' => 1,
|
|
'balanceCooldown' => 3,
|
|
],
|
|
],
|
|
|
|
'local' => [
|
|
'supervisor-1' => [
|
|
'maxProcesses' => 3,
|
|
],
|
|
],
|
|
],
|
|
];
|