0
Есть ли способ вызова метода nextTuple носика определенного количества раз в секунду?Как я могу вызвать nextTuple() определенное количество раз в секунду?
Есть ли способ вызова метода nextTuple носика определенного количества раз в секунду?Как я могу вызвать nextTuple() определенное количество раз в секунду?
Вы можете выполнить это, но считая, как из nextTuple()
вызывается в текущую минуту, и только return
, не испуская кортеж, если вы выбрали нужное количество кортежей. Каждый раз, когда в первую минуту вызывается nextTuple()
, вы просто сбрасываете счетчик на ноль.
Что-то вроде этого:
private int counter = 0;
private int currentMinute = 0;
private final int tuplesPerMinute = 5;
public void nextTuple() {
if(counter == tuplesPerMinute) {
int newMinute = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis());
if(newMinute <= currentMinute) {
return;
}
counter = 0;
currentMinute = newMinute;
}
++counter;
collector.emit(...);
}