В настоящее время я реализую программу, которая требует от меня использования Twitter4J для сбора твитов и их хранения. Однако я понимаю, что вы можете делать только 180 запросов каждые 15 минут с API разработчика Twitter.
В связи с этим я создал метод, который останавливает программу после того, как она получает 10 твитов, на 15 минут, пока мои потребительские ключи и ключи доступа сбрасывают ограничение скорости. Тем не менее, иногда предел скорости все же иссякает между получением этих 10 твитов? Итак, что я хочу сделать, так это изменить метод, чтобы он остановился из-за того, что предел скорости скоро закончится.
Например...
if (rate limit = 0){
stop program until rate limit resets
}
Однако мой метод только что реализует счетчик, и когда этот счетчик достигает 10, он останавливается, что не очень экономично или эффективно. Я думал, что 10 твитов будет достаточно, но, очевидно, нет. Вот мой метод...
public void getRateLimit() throws TwitterException{
if (count == 10){
try {
System.out.println("Rate Limit is about to be exhausted for resource...");
System.out.println("Please wait for 15 minutes, while it resets...");
TimeUnit.MINUTES.sleep(15);
count = 0;
} catch (InterruptedException e) {
System.out.println(e);
}
}
Как я могу изменить это так, чтобы он заканчивался, когда лимит скорости вот-вот закончится и остановился, и запускался только при его пополнении. Спасибо за любую помощь.