runAll

void Worker::runAll(void)

Esegue tutte le istanze di Worker.

Attenzione:

Dopo che Worker::runAll() è stato eseguito, verrà bloccato permanentemente, il che significa che il codice che si trova dopo Worker::runAll() non verrà eseguito. Tutte le istanze di Worker dovrebbero essere instantiate prima di Worker::runAll().

Parametri

Nessun parametro

Valore di ritorno

Nessun valore di ritorno

Esempio Eseguire più istanze di Worker

start.php

<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    $connection->send('hello http');
};

$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
    $connection->send('hello websocket');
};

// Esegue tutte le istanze di Worker
Worker::runAll();

Attenzione:

La versione di workerman per Windows non supporta l'instanziazione di più Worker nello stesso file.
L'esempio sopra non può essere eseguito nella versione di workerman per Windows.

La versione di workerman per Windows richiede che l'inizializzazione di più istanze di Worker venga posizionata in file diversi, come di seguito

start_http.php

<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    $connection->send('hello http');
};

// Esegue tutte le istanze di Worker (qui c'è solo un'istanza)
Worker::runAll();

start_websocket.php

<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
    $connection->send('hello websocket');
};

// Esegue tutte le istanze di Worker (qui c'è solo un'istanza)
Worker::runAll();