Como otimizar meu FQL para evitar o tempo limite do Facebook?

Vamos dar uma simplesFQL consulta para obter todos os links compartilhados pelos amigos de um usuário desde ontem, por exemplo:

SELECT link_id, title, url, owner, created_time
FROM link
WHERE
    created_time > strtotime('yesterday') AND
    owner IN (
        SELECT uid2 FROM friend WHERE uid1 = me()
    )
LIMIT 100

Se um usuário tiver 50 amigos, isso será executado perfeitamente. Mas se um usuário tiver centenas de amigos, o Facebook retornará um erro com mais frequência.

Options:

Limite o amigo, selecione a consulta para 50 - Claro, isso funcionará, mas sempre mostrará os mesmos amigos. A menos que você queira umIvy League-only feed, isso não é muito útil. Consultas em lote - Crie um lote de consultas usando deslocamentos e limite cada uma a 50. Infelizmente, também não há melhorias aquLoop It - Até agora, este é o melhor que encontrei. Faça um loop pelas mesmas consultas que você criou para uma consulta em lote, mas faça uma de cada vez com várias chamadas de consulta da API fql. Mas mesmo isso é um sucess

Como posso consultar o Facebook adequadamente para garantir resultados bem-sucedidos?

Notas

Estou usando o mais recente Facebook php sdk, 3.1.1 Eu também tentei estender as opções padrão para tempos limite de curvatura no arquivo base_facebook.php

Erros comuns associados ao Timeout:

1.

Fatal error:  Uncaught Exception: 1: An unknown error occurred thrown in /..../facebook/php-sdk/src/base_facebook.php on line 708

line 708 é um erro de exceção:

// results are returned, errors are thrown
if (is_array($result) && isset($result['error_code'])) { 
    throw new FacebookApiException($result);
}

2.

Fatal error: Uncaught CurlException: 52: SSL read: error:00000000:lib(0):func(0):reason(0), errno 104 thrown in /..../facebook/php-sdk/src/base_facebook.php on line 814

questionAnswers(3)

yourAnswerToTheQuestion