Я решил свою проблему, добавив переменную с именем «lastDispatch», установив для нее значение startDate.
в своей функции обновления я включил функцию отправки в эту проверку:
if(lastDispatch.getHours() < roundMinutes(new Date(target)).getHours())
и перед отправкой перезаписываю переменную снова
lastDispatch = roundMinutes(new Date(target));