diff --git a/extend/catcher/library/crontab/ManageProcess.php b/extend/catcher/library/crontab/ManageProcess.php index d981b97..bc3bb50 100644 --- a/extend/catcher/library/crontab/ManageProcess.php +++ b/extend/catcher/library/crontab/ManageProcess.php @@ -129,7 +129,6 @@ class ManageProcess // 向 process 投递 cron // var_dump(serialize($cron)); //$process->push(serialize($cron)); - var_dump($process->pop()); } else { // 创建临时 process 处理,处理完自动销毁 $this->createProcess($cron); @@ -183,6 +182,8 @@ class ManageProcess */ protected function initProcesses() { + file_put_contents($this->getProcessStatusPath(), ''); + for ($i = 0; $i < $this->staticNum; $i++) { $process = $this->createStaticProcess(); diff --git a/extend/catcher/library/crontab/Process.php b/extend/catcher/library/crontab/Process.php index f3dbe7a..c7bd751 100644 --- a/extend/catcher/library/crontab/Process.php +++ b/extend/catcher/library/crontab/Process.php @@ -94,12 +94,14 @@ trait Process // 获取等待状态的 worker $processes = $this->getProcessesStatus(); + // $processIds foreach ($processes as $process) { if ($process['status'] == self::WAITING) { $pid = $process['pid']; break; } } + // 获取相应的状态 if (isset($this->processes[$pid])) { return [true, $this->processes[$pid]]; diff --git a/extend/catcher/library/crontab/Store.php b/extend/catcher/library/crontab/Store.php index ab1f52d..60a86d8 100644 --- a/extend/catcher/library/crontab/Store.php +++ b/extend/catcher/library/crontab/Store.php @@ -35,9 +35,11 @@ trait Store */ public function storeStatus(array $status) { - if (file_exists($this->getProcessStatusPath())) { - $workersStatus = $this->getProcessesStatus(); + $workersStatus = $this->getProcessesStatus(); + if (empty($workersStatus)) { + $this->writeStatusToFile([$status]); + } else { // ['PID',, 'START_AT', 'STATUS', 'DEAL_TASKS', 'ERRORS', 'running_time', 'memory']; $pids = array_column($workersStatus, 'pid'); @@ -52,8 +54,6 @@ trait Store } } $this->writeStatusToFile($workersStatus); - } else { - file_put_contents($this->getProcessStatusPath(), \json_encode([$status])); } }