Создание заданий cron для запуска отдельно на каждом хосте с желаемой частотой Вам потребуется некоторая форма блокировки для каждой записи или некоторая форма блокировки диапазона для набора записей, чтобы серверы обрабатывали взаимоисключающий набор записей.
например. : Вы можете добавить следующее новое поле ко всем записям:
заблокировано сервером:
Заблокировано на время действия (или время истечения блокировки):
При каждом запуске каждый хрон выбирает набор записей с истекшими или пустыми блокировками, а затем фиксирует блокировку на небольшом наборе записей, помещая эти две записи. Затем он приступает к их обработке. Если он выходит из строя или застревает, срок действия блокировки истекает, в противном случае он освобождается при завершении.