From 5df85351c42c9b711c9d4316f03a5ce00c03958a Mon Sep 17 00:00:00 2001 From: Anyon Date: Fri, 23 Aug 2019 11:19:09 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]=E4=BC=98=E5=8C=96=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E4=BB=BB=E5=8A=A1=E8=BF=9B=E7=A8=8B=EF=BC=88=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=AD=E9=97=B4=E6=89=A7=E8=A1=8C=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/queue/task/Listen.php | 8 ++------ application/admin/queue/task/Start.php | 6 +----- application/admin/queue/task/bin/process.exe | Bin 122880 -> 106496 bytes 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/application/admin/queue/task/Listen.php b/application/admin/queue/task/Listen.php index b83562c34..6c646ce81 100644 --- a/application/admin/queue/task/Listen.php +++ b/application/admin/queue/task/Listen.php @@ -57,13 +57,9 @@ class Listen extends Task foreach (Db::name('SystemQueue')->where([['status', 'eq', '1'], ['time', '<=', time()]])->order('time asc')->select() as $item) { try { Db::name('SystemQueue')->where(['id' => $item['id']])->update(['status' => '2', 'start_at' => date('Y-m-d H:i:s')]); + $this->cmd = "{$this->bin} xtask:_work {$item['id']} -"; if ($this->isWin()) { - $command = env('runtime_path') . "queue/{$item['id']}.cmd"; - file_exists(dirname($command)) or mkdir(dirname($command), 0755, true); - file_put_contents($command, "{$this->bin} xtask:_work {$item['id']} -" . PHP_EOL . 'del %~dp0%0 /y'); - $this->cmd = __DIR__ . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "process.exe {$command}"; - } else { - $this->cmd = "{$this->bin} xtask:_work {$item['id']} -"; + $this->cmd = __DIR__ . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "process.exe {$this->cmd}"; } if ($this->checkProcess()) { $output->comment("处理任务的子进程已经存在 --> [{$item['id']}] {$item['title']}"); diff --git a/application/admin/queue/task/Start.php b/application/admin/queue/task/Start.php index d0fc4f1e2..8bd9c4937 100644 --- a/application/admin/queue/task/Start.php +++ b/application/admin/queue/task/Start.php @@ -51,7 +51,6 @@ class Start extends Task $this->setWinProcess(); $this->createProcess(); $this->setBaseProcess(); - $output->writeln('正在检查异步任务监听主进程状态...'); sleep(1); if (($pid = $this->checkProcess()) > 0) { $output->info("异步任务监听主进程{$pid}启动成功!"); @@ -69,10 +68,7 @@ class Start extends Task private function setWinProcess() { if ($this->isWin()) { - $command = env('runtime_path') . "queue" . DIRECTORY_SEPARATOR . "listen.cmd"; - file_exists(dirname($command)) or mkdir(dirname($command), 0755, true); - file_put_contents($command, $this->cmd . PHP_EOL . 'del %~dp0%0 /y'); - $this->cmd = __DIR__ . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "process.exe {$command}"; + $this->cmd = __DIR__ . DIRECTORY_SEPARATOR . "bin" . DIRECTORY_SEPARATOR . "process.exe {$this->bin} xtask:listen"; } } } diff --git a/application/admin/queue/task/bin/process.exe b/application/admin/queue/task/bin/process.exe index 1a19fa6cdab678d107918ae0fe01de6783902d25..e2621b7adf862afc04e2a8f9fc8b48ba9ab48c49 100644 GIT binary patch delta 51807 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 BtQ-IU delta 68235 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 E0CEl)Z~y=R