tapi/app/command/admin/Worker.php
2025-08-28 17:28:50 +08:00

51 lines
1.3 KiB
PHP

<?php
namespace app\command\admin;
use app\http\worker\AdminWorker;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use Workerman\Worker as WmWorker;
class Worker extends Command
{
protected function configure()
{
$this->setName('admin:worker')
->addArgument('action', Argument::OPTIONAL, "start|stop|restart|reload|status|connections", 'start')
->addOption('mode', 'm', Option::VALUE_OPTIONAL, 'Run the workerman server in daemon mode.')
->setDescription('后台系统worker服务');
}
protected function execute(Input $input, Output $output)
{
$output->writeln('convert start');
$action = $input->getArgument('action');
$mode = $input->getOption('mode');
global $argv;
$argv = [];
array_unshift($argv, 'think', $action);
if ($mode == 'd') {
$argv[] = '-d';
} else if ($mode == 'g') {
$argv[] = '-g';
}
/*
* 创建后台ws链接
*/
$adminWorker = new WmWorker('ws://0.0.0.0:19980');
$adminWorker->onMessage = [AdminWorker::class, 'onMessage'];
$adminWorker->onClose = [AdminWorker::class, 'onClose'];
WmWorker::runAll();
}
}