Подумайте, что произойдет, если произойдет сбой сервера между выполнением запроса и записью, что он выполнил запрос?
Вы можете получить самое большее один раз, записав запрос, а затем выполнив его. если между ними возникнет сбой, то вы (ошибочно) записали его как выполненное, поэтому вы не будете делать это снова. Следовательно самое большее один раз
Как ни странно, этот (с таймаутами) запатентован: http://www.freepatentsonline.com/7162512.html. За исключением того, что, как я утверждаю выше, он не гарантирует точно один раз.
Вы получаете хотя бы один раз, выполняя это, затем записывая это. Если между ними возникнет сбой, вы выполните его снова, если запрос будет повторен.
Но на самом деле невозможно сказать «ровно один раз» при любых обстоятельствах
(Существуют похожие сценарии для сетевых ошибок, а не для сбоев сервера)