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

laravel中如何啟動(dòng)多個(gè)workerman服務(wù)?

八千年丶

laravel 使用Workerman , 已經(jīng)開了一個(gè)服務(wù)以后(php artisan workerman:command start d),再開另一個(gè)(php artisan workermanweb:command start d)提示已經(jīng)運(yùn)行, Workerman start in DEBUG mode Workerman already running 端口號(hào)確定不同 ,怎么處理才好 ?

7061 1 1
1個(gè)回答

phpcreeper

1、報(bào)告 already running 的原因是因?yàn)閣orkerman要求不能重復(fù)啟動(dòng)已經(jīng)在運(yùn)行的同一個(gè)啟動(dòng)腳本,這是為了準(zhǔn)確的stop 、restart等所需。在laravel中??artisan??腳本就相當(dāng)于我們常見的 start.php 啟動(dòng)腳本,根據(jù)這個(gè)原理我們有如下參考做法:cp /path/to/artisan /path/to/artisan2
php artisan xxxx xxxx
php artisan2 xxxx xxxx

2.? 參考方案二:php artisan make:command MyCommandclass

MyCommand extend Command
{
    public function start()
    {   
      $this->worker1 = new Worker("tcp://0.0.0.0:8888");
      $this->worker2 = new Worker("http://0.0.0.0:9999");
      //.........

      // 啟動(dòng)多少個(gè)進(jìn)程對(duì)外提供服務(wù)
      $this->worker1->count = 3;
      $this->worker1->count = 4;

      // 運(yùn)行worker
      Worker::runAll();
    }   
}

?

  • 八千年丶 2019-01-04

    嗯,兩種方式都試過了,第一種 啟動(dòng)的時(shí)候 提示啟動(dòng)命令不存在,第2個(gè)啟動(dòng)的時(shí)候 提示不能在一個(gè)文件啟動(dòng)2個(gè) worker, 試了下另外的方式
    Worker::runAll(); 在這個(gè)方法中傳遞參數(shù)進(jìn)去 然后根據(jù)傳遞的參數(shù)生成.pid文件。

  • phpcreeper 2019-01-04

    @5248: 兩種方式工作方式親自實(shí)踐了下,都工作OK。

  • ShiOGong 2019-04-29

    @614 我這兒也不行誒 第二種是already running 第一種我覺得不是個(gè)方法 忽略了

  • 八千年丶 2019-08-30

    @614:嗯,理論上這兩個(gè)方法都可以的,但是確實(shí)在我這不行,可能是laravel版本的問題吧

  • 八千年丶 2019-08-30

    @5776:我這邊稍微改了下,讓它啟動(dòng)的時(shí)候讀取不同的pid文件就可以了

年代過于久遠(yuǎn),無法發(fā)表回答
??