(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — Registrar una llamada concurrente
$uri
,$method
,$parameters
= ?,$callback
= ?,$error_callback
= ?,$options
= ?Registra una llamada RPC, aunque no la envía inmediatamente. Se enviará al llamar a Yar_Concurrent_Client::loop()
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.
Un ID único que se puede utilizar para identificar la llamada que es.
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: