API-интерфейс Twitter работает локально, но на удаленном сервере неточен - PullRequest
0 голосов
/ 18 августа 2011

Я написал скрипт, который извлекает текущие главные тренды в Твиттере, используя cURL, и он работает 100% времени локально, но когда я передаю его по FTP на свой посредственный сервер, кажется, что он работает только иногда.Это связано с Twitter?Mediatemple?Некоторая ошибка в моем коде?

РЕДАКТИРОВАТЬ: Как я могу кэшировать содержимое в плоский файл?

1 Ответ

1 голос
/ 18 августа 2011

Если код работает иногда, это говорит о том, что это не проблема с вашим кодом, поэтому есть две логические области для потенциальной вины:

1) Загрузка веб-сервера

Это может быть ваш сервер зависает. Если сервер (не только ваш сайт - учтите это, если вы используете общий хостинг) испытывает большую нагрузку, то вашему серверу может потребоваться слишком много времени для выполнения запроса curl. для борьбы с этим попробуйте увеличить время ожидания по запросу, используя следующее:

CURLOPT_CONNECTTIMEOUT

2) Ограничение скорости Twitter

Твиттер ограничивает количество вызовов API, которые вы можете совершать с одной авторизованной учетной записи в час (я считаю, что число составляет около 100, проверьте их документацию API). Если вы достигнете этого предела, вам будет отказано в дальнейших вызовах до 1-летнего юбилея. первого звонка. Для борьбы с этим нужно либо, чтобы задание cron запускало curl с заданным интервалом и кэшировало результат в текстовом файле или базе данных, либо сохраняло время каждого сделанного запроса и использовало IF, чтобы разрешить только один запрос каждые 2 или 3 минуты, кэшируйте результаты и вытащить результаты из кеша.

Каждый раз, когда происходит загрузка страницы, вызов API Twitter является пустой тратой ресурсов и может сократить время загрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...