国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請問workerman-thrift-rpc如何啟動多個服務(wù)?

zhongzhen

圖片
?如果要同時啟動HelloWorld,HelloWorld2,HelloWorld3 服務(wù),是這樣寫嗎?

$worker = new ThriftWorker('tcp://0.0.0.0:8000');
$worker->count = 1;
$worker->class = 'HelloWorld';

$worker = new ThriftWorker('tcp://0.0.0.0:8001');
$worker->count = 1;
$worker->class = 'HelloWorld2';

$worker = new ThriftWorker('tcp://0.0.0.0:8002');
$worker->count = 1;
$worker->class = 'HelloWorld3';

如果要啟動的服務(wù)很多,豈不是要寫很多這樣的代碼,請問有更好的處理方式嗎?真實的工作環(huán)境是怎么處理的?
?
然后還想請教個問題,如果服務(wù)的進程因為某種原因掛了,workman會怎么處理呢?如果再次生成新的服務(wù),它的端口號會變嗎?如果變了,客戶端還是連的原來的端口,豈不是就報錯了,如果那樣應(yīng)該怎么辦呢?
?
麻煩了,謝謝。

3385 2 0
2個回答

wangn

你可以仿照一個demo 核心代碼??// 標記是全局啟動

define('GLOBAL_START', 1);

require_once __DIR__ . '/vendor/autoload.php';

// 加載所有Applications/*/start.php,以便啟動所有服務(wù)
foreach(glob(__DIR__.'/Applications/*/start*.php') as $start_file)
{
    require_once $start_file;
}

//運行所有服務(wù)

Worker::runAll();
  • 暫無評論
taozywu

@zhongzhen

<?php

$configs = array(
   array(
      "uri" => "tcp://0.0.0.0:8000", "class" => "HelloWorld1",
   ),
   array(
      "uri" => "tcp://0.0.0.0:8001", "class" => "HelloWorld2",
   ),
   array(
      "uri" => "tcp://0.0.0.0:8002", "class" => "HelloWorld3",
   )
);

foreach ($configs as $c) {

   $worker = new ThriftWorker($c);
   $worker->count = 1;
   $worker->class = $c;

   // input your code @todo
}
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??