Почему бы не использовать базу данных для координации? Любой узел, имеющий свободные циклы, может вставить строку «в процессе» в таблицу заданий, чтобы заблокировать другие узлы. Это использует тот факт, что вы, вероятно, уже полагаетесь на одну базу данных среди всех узлов, которая имеет встроенное управление транзакциями.
Вам нужно будет разработать простой алгоритм синхронизации, чтобы все узлы не просыпались в одно и то же время каждые десять минут и боролись за блокировку. Может быть, ввести случайную задержку в 0-10 секунд.