RabbitMQ se apaga regularmente

Cuando la biblioteca PhpAmqpLib espera, a veces sale sola. Para garantizar la estabilidad de la interfaz, puede configurar una tarea programada para llamar periódicamente a la interfaz para recibir mensajes. En este momento, RabbitMQ necesita cerrar el canal dentro de un cierto período de tiempo. El tiempo de espera del tercer parámetro se puede configurar para el parámetro de espera.
$conexión = nueva AMQPStreamConnection('localhost', 5672, 'invitado', 'invitado');
$canal = $conexión->canal();
$canal->queue_declare('wpjam.shop.notice', falso, falso, falso, falso);
$devolución de llamada = función ($msg) {
    $res = $this->sendService()->sendNotice($msg->body);
    echo ' [x] Recibido ', json_encode($res), "\n";
};
$canal->basic_consume('wpjam.shop.notice', '', falso, verdadero, falso, falso, $devolución de llamada);
$tiempo de espera = 55;
while (count($canal->devoluciones de llamada)) {
    intentar{
        $canal->espera(nulo, falso, $tiempo de espera);
    }catch(\PhpAmqpLib\Exception\AMQPTimeoutException $e){
        $canal->cerrar();
        $conexión->cerrar();
        salida;
    }
}

Supongo que te gusta

Origin blog.csdn.net/xyy_forever/article/details/82012468
Recomendado
Clasificación