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

0

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

已邀请:

blogdaren - 专注C编程、PHP内核、LINUX、VIM【http://www.phpcreeper.com】

赞同来自: 大王

参考代码:
==============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();
}

要回复问题请先登录注册