Проблема в том, что ваш тайм-аут превышает 5 секунд, если он ждет 6 секунд, к отметке 5 секунд он снова сработает, как если бы он не прошел.
Интересное примечание : Мне пришлось увеличить время ожидания до 10 секунд, потому что мой api полосы по какой-то причине занимал некоторое время, когда у меня было 4 секунды в качестве таймаута, он часто выходил из строя. После увеличения таймаута до 10 секунд он больше не дает сбоев ... но в среднем время выполнения составляет 2 секунды, поэтому он никогда не запускается дважды. Не уверен, почему это так, но хорошо знать об этом.
Второе примечание : мне не удалось найти документацию об этой 5-секундной повторной попытке тайм-аута, но я заметил, что это правда . Если у кого-то есть расположение этой документации, добавьте его.