123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Models\ServerShadowsocks;
- use App\Models\ServerTrojan;
- use App\Services\ServerService;
- use App\Utils\CacheKey;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use App\Models\ServerGroup;
- use App\Models\ServerV2ray;
- use App\Models\Plan;
- use App\Models\User;
- use App\Models\Ticket;
- use App\Models\Order;
- use App\Models\StatOrder;
- use App\Models\StatServer;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Http;
- use Laravel\Horizon\Contracts\MasterSupervisorRepository;
- class SystemController extends Controller
- {
- public function getSystemStatus()
- {
- return response([
- 'data' => [
- 'schedule' => $this->getScheduleStatus(),
- 'horizon' => $this->getHorizonStatus()
- ]
- ]);
- }
- public function getQueueStatus()
- {
- }
- protected function getScheduleStatus():bool
- {
- return (time() - 120) < Cache::get(CacheKey::get('SCHEDULE_LAST_CHECK_AT', null));
- }
- protected function getHorizonStatus():bool
- {
- if (! $masters = app(MasterSupervisorRepository::class)->all()) {
- return false;
- }
- return collect($masters)->contains(function ($master) {
- return $master->status === 'paused';
- }) ? false : true;
- }
- }
|