Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 16662 программиста и 1642 робота. Сейчас ищут 1247 программистов ...
Приступая к работе

Yar_Concurrent_Client::loop - Send all calls

Вернуться к: Yar_Concurrent_Client

Yar_Concurrent_Client::loop

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::loopSend all calls

Описание

public static boolean Yar_Concurrent_Client::loop ([ callable $callback [, callable $error_callback ]] )

Send 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

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware