Webservice может определить использование памяти предел для тех, кто запрашивает?


, возникают проблемы с webservice, потому что я делаю запрос, который возвращает мне 69300 записей и работает нормально но уже с 69595 записи он дает ошибка.

вопрос webservice можно определить использование памяти предел для тех, кто запрашивает? Я много 90MB в этом запросе.

программа, которая, будучи повернут строго предоставляемых webservice, как показано ниже:

$array  = array ( 
        'key'       => '8b0dc65f996f98fd178a9defd0efa077',
        'module'    => 'imoveis',
        'method'    => 'busca_fotos',
        'field'     => array (
            'CODIGO'    => 'Codigo',
            'IMAGEM_G'  => 'Foto'
        ),
        # 'limit'   => '69300'
    );

    $client = new SoapClient(null, array (
        'uri' => 'http://soap.imo.bi/',
        'location' => 'http://soap.imo.bi/soap.dll',
        'trace' => 'trace'
    ));

    $res    = $client->get($array);
    $tot    = count($res);

    echo "<pre>";
         print_r($res);
    echo "</pre>";
Author: Maniero, 2015-01-18

2 answers

Основной вопрос довольно легко ответить: да, конечно, можно. Любые программы можно установить ограничения, что он хочет. В идеале, особенно webservices иметь ограничения, чтобы избежать злоупотреблений.

Но link опубликовано кажется, что проблема там-это другое. Кажется, что сервер замяты. По иронии судьбы, скорее всего, не накладывать ограничения на использование.

Без дополнительной информации трудно сказать точно, что происходит, но ясно, что услуга не была хорошо развита, что является очень распространенным явлением. Очень часто сотрудники, чтобы проверить, работает ли он, но забывают, что самый важный тест-это тест, чтобы увидеть, что происходит, когда не работает и не пусть это произойдет катастрофических ситуациях, как человек получили ранения, например.

 3
Author: Maniero, 2015-01-18 00:22:11

Идеальным было бы установить ограничение возвращаемых записей запроса (где вы могли быть уверены, что не превысит свой предел памяти) и применить какой-либо подкачки, чтобы можно было просматривать все результаты без того, чтобы отправлять все сразу.

Представьте себе, если поиск в Google возвращает всех результаты сразу.


Обновление:

Следуя руководство веб-службы, который вы, с помощью:

Параметр: limit)

String: Может быть указан предельный результатов, может быть простой числовое значение или подкачки. Для подкачки, необходимо использовать формат x,y, где x - это номер записи, и y это предел записей.

И Все, что вам нужно, это использовать параметр limit разбивать на страницы результаты и получить кусок каждый раз. Таким образом, вы делаете то, что должны сделать с этим "страницы" результаты, удаляет и часть тебя следующего.

 3
Author: André Ribeiro, 2020-06-11 14:45:34