reloadable
Descrizione:
bool Worker::$reloadable
Eseguendo php start.php reload, verrà inviato un segnale di ricarica (SIGUSR1) a tutti i processi secondari.
I processi secondari, ricevuto il segnale di ricarica, usciranno automaticamente e il processo principale avvierà automaticamente un nuovo processo, generalmente utilizzato per aggiornare il codice aziendale.
Quando la variabile $reloadable è impostata su false, la ricezione del segnale di ricarica attiverà solo onWorkerReload e non riavvierà il processo corrente.
Ad esempio, nel modello Gateway/Worker, il processo gateway è responsabile della gestione delle connessioni dei clienti, mentre il processo worker si occupa di gestire le richieste. Impostando la proprietà reloadable del processo gateway su false, è possibile aggiornare il codice aziendale senza chiudere le connessioni dei clienti.
Esempio
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
// Imposta se questa istanza riavvierà dopo aver ricevuto il segnale di ricarica
$worker->reloadable = false;
$worker->onWorkerStart = function($worker)
{
echo "Worker avviato...\n";
};
// Esegui il worker
Worker::runAll();