DaemonController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\backend\modules\survey\controllers;
  3. use app\common\components\BaseController;
  4. use app\host\Host;
  5. use app\host\HostManager;
  6. use app\process\CronManager;
  7. use app\process\QueueManager;
  8. use Illuminate\Support\Facades\Redis;
  9. class DaemonController extends BaseController
  10. {
  11. public function index()
  12. {
  13. $hostManager = new HostManager();
  14. $result['pids'] = $hostManager->show();
  15. $result['hosts'] = $hostManager->hostnames();
  16. $cronManager = new CronManager();
  17. $result['running_cron_jobs'] = $cronManager->runningJobs();
  18. $result['cron_running'] = Redis::get('CronRunning');
  19. $queueManager = new QueueManager();
  20. $result['running_queue_jobs'] = $queueManager->runningJobs();
  21. $result['queue_jobs'] = $queueManager->jobCounts();
  22. return $this->successJson('', $result);
  23. }
  24. public function start()
  25. {
  26. app('supervisor')->startAllProcesses();
  27. return $this->successJson();
  28. }
  29. public function restart()
  30. {
  31. $hostManager = new HostManager();
  32. $hostManager->restart();
  33. return $this->successJson();
  34. }
  35. }