PHP Conference Nagoya 2025

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::callRegistrar una llamada concurrente

Descripción

public static Yar_Concurrent_Client::call(
    string $uri,
    string $method,
    array $parameters = ?,
    callable $callback = ?,
    callable $error_callback = ?,
    array $options = ?
): int

Registra una llamada RPC, aunque no la envía inmediatamente. Se enviará al llamar a Yar_Concurrent_Client::loop()

Parámetros

uri

El URI del servidor de RPC (http, tcp)

method

El nombre del servicio (es decir, el nombre del método)

parameters

Parámetros

callback

Una retrollamada a una función, la cual será invocada mientras se devuelve la respuesta.

Valores devueltos

Un ID único que se puede utilizar para identificar la llamada que es.

Ejemplos

Ejemplo #1 Ejemplo de Yar_Concurrent_Client::call()

<?php
function callback($retval, $callinfo) {
var_dump($retval);
}

function
error_callback($type, $error, $callinfo) {
error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // si no se especifica la retrollamada,
// se usará la retrollamada en bucle
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
//este servidor acepta empaquetadores json
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//tiempo de espera personalizado

//Las peticiones aún no se han enviado
?>

El resultado del ejemplo sería algo similar a:


Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top