Запускайте задачу по одному в кластере зажигания - PullRequest
0 голосов
/ 14 ноября 2018

У меня задача постоянно работать на одном узле в кластере воспламенения.Когда задача завершается или не выполняется, она должна быть снова запущена на самом старом узле.Как я могу это сделать?

class MyTask {

    @PostConstruct()
    public void start() {
        ignite.executorService(ignite.cluster().forOldest())
                .submit(() -> myTask());
    }
}

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете запустить Singleton Ignite Service (https://apacheignite.readme.io/docs/service-grid) с фильтром для самого старого узла. Это обеспечит безопасность отработки отказа.

Внутри метода "execute" службы вы можете использовать цикл while с запускомЗадача. Используя ее, вы можете обрабатывать и завершать задачу и перезапускать ее снова.

...