Yar_Concurrent_Client::loop
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Yar_Concurrent_Client::loop
Референца за `yar-concurrent-client.loop.php` со подобрена типографија и навигација.
Yar_Concurrent_Client::loop
(PECL yar >= 1.0.0)
Yar_Concurrent_Client::loop — Send all calls
= NULL
$callback = ?, callable $error_callback = ?): boolSend all registed remote RPC calls.
Параметри
callback-
If this callback is set, then Yar will call this callback after all calls are sent and before any response return, with a $callinfo NULL.
Then, if user didn't specify callback when registering concurrent call, this callback will be used to handle response, otherwise, the callback specified while registering will be used.
error_callback-
If this callback is set, then Yar will call this callback while error occurred.
Вратени вредности
Примери
Пример #1 Yar_Concurrent_Client::loop() example
<?php
function callback($retval, $callinfo) {
if ($callinfo == NULL) {
echo "Now, all requests are sent, and no any response available\n";
} else {
echo "This is a remote call response, the method name is", $callinfo["method"],
". calling sequence is " , $callinfo["sequence"] , "\n";
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")); // if the callback is not specificed,
// callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
//this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//custom timeout
Yar_Concurrent_Client::loop("callback", "error_callback"); //send the requests,
//the error_callback is optional
?>Горниот пример ќе прикаже нешто слично на:
Now, all requests are sent, and no any response available This is a remote call response, the method name issome_method. calling sequence is 4 string(11) "some_method" This is a remote call response, the method name issome_method. calling sequence is 1 string(11) "some_method" This is a remote call response, the method name issome_method. calling sequence is 2 string(11) "some_method" This is a remote call response, the method name issome_method. calling sequence is 3 string(11) "some_method"
Види Исто така
- Yar_Concurrent_Client::call() - Регистрирај конкурентен повик
- Yar_Concurrent_Client::reset() - Исчисти ги сите регистрирани повици
- Yar_Server::__construct() - Регистрирај сервер
- Yar_Server::handle() - Стартувај RPC сервер