多个文件worker只成功启动第一个文件,请问是不是代码写错了

大王

start_test.php代码:

<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require __DIR__ . '/../../vendor/autoload.php';

$task = new Worker();
$task->count = 1;//单进程处理
$task->name = 'test';
$task->onWorkerStart = function() use ($transaction){
    Timer::add('1', function ()  {
        echo 'test:1......' . PHP_EOL;
    });
};

// 运行worker
Worker::runAll();

strt_test1.php代码:

<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require __DIR__ . '/../../vendor/autoload.php';

$task = new Worker();
$task->count = 1;//单进程处理
$task->name = 'test2';
$task->onWorkerStart = function() use ($transaction){
    Timer::add('1', function ()  {
        echo 'test:2......' . PHP_EOL;
    });
};

// 运行worker
Worker::runAll();

运行php start.php start 的时候,只能启动第一个,请问是什么情况呀?
环境PHP7.1 workerm最新版,CentOS

2755 1 0
1个回答

blogdaren

参考代码:
==============start.php=============

//some code here....
// 标记是全局启动
define('GLOBAL_START', 1);
require_once '/path/to/autoload.php';

// 加载所有start*.php,以便启动所有服务
foreach(glob('/path/to/start\*.php') as $start_file)
{
    require_once $start_file;
}

// 运行所有服务
Worker::runAll();

============start_test1.php=============

//some code here....
// 如果不是在根目录启动,则运行runAll方法
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}

============start_test2.php=============

//some code here....
// 如果不是在根目录启动,则运行runAll方法
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}
年代过于久远,无法发表回答
🔝