reloadable

Descrição:

bool Worker::$reloadable

Quando executado php start.php reload, um sinal de reload (SIGUSR1) será enviado para todos os processos filhos.

Após receber o sinal de reload, o processo filho irá automaticamente encerrar e o processo principal irá iniciar um novo processo, geralmente usado para atualizar o código do negócio.

Quando a propriedade $reloadable do processo é false, receber o sinal de reload acionará apenas o evento onWorkerReload, e não reiniciará o processo atual.

Por exemplo, no modelo Gateway/Worker, o processo gateway é responsável por manter a conexão do cliente, enquanto o processo worker lida com as solicitações. Configurar a propriedade reloadable do processo gateway como false permite atualizar o código do negócio sem desconectar os clientes durante o reload.

Exemplo

use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
// Define se este exemplo será reiniciado após receber um sinal de reload
$worker->reloadable = false;
$worker->onWorkerStart = function($worker)
{
    echo "Iniciando o Worker...\n";
};
// Executar o worker
Worker::runAll();