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 的時候,只能啟動第一個,請問是什么情況呀?
環(huán)境PHP7.1 workerm最新版,CentOS
參考代碼:
==============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();
}