Я работаю с твиттер API. Я пытаюсь зарегистрировать несколько твитов от группы учетных записей. Я отслеживаю 250 аккаунтов. Это, конечно, превышает лимит скорости. Код для сбора данных ниже:
docs.forEach(function (doc) {
client.get('statuses/user_timeline', {
screen_name: doc.screen_name,
limit: 20
}, function (error, tweets, response) {
if (error) {
console.log(error);
if (error.code == 88) {
console.log(error);
}
} else {
tweets.sort(function (a, b) {
return b.retweet_count - a.retweet_count
});
var top = tweets.slice(0, 3);
col_tweets.insert(top, {
w: 1
}, function (err, result) {
if (error) {
console.log("error while logging");
} else {
console.log("logged: " + doc.screen_name);
}
});
}
});
});
Как видите, программа регистрирует некоторые твиты с этих учетных записей. Я сталкиваюсь с ошибками ограничения скорости. Я хотел бы найти решение для таймера запросов, чтобы я не сталкивался с этими ошибками. Как я вижу, есть две проблемы: а) у меня в конечном итоге заканчиваются запросы (очевидная проблема) б) я считаю, что скорость, с которой я делаю запросы, слишком высокая, что приводит к спорадической проблеме превышения предела скорости, т.е. у меня будет 10 успешных запросы, а затем код: ошибка 88, затем семь хороших запросов и так далее, пока у меня не закончатся звонки. Как обычно решаются такие проблемы? Если есть простое решение, которое я вижу в коде, я ценю его, но в противном случае я хотел бы услышать какие-либо предложения. Спасибо!