运行 在 ignite 集群中一次执行一个任务
Run a task once at a time in the ignite cluster
我有一项任务要 运行 在 ignite 集群中的一个节点上持续进行。当任务完成或失败时,它应该在最旧的节点上重新启动。我该怎么做?
class MyTask {
@PostConstruct()
public void start() {
ignite.executorService(ignite.cluster().forOldest())
.submit(() -> myTask());
}
}
您可以启动单例 Ignite 服务 (https://apacheignite.readme.io/docs/service-grid),并为最旧的节点设置过滤器。它将保证故障转移安全。
在服务的 "execute" 方法中,您可以使用 while 循环启动任务。使用它,您可以处理任务完成和失败并重新启动它。
我有一项任务要 运行 在 ignite 集群中的一个节点上持续进行。当任务完成或失败时,它应该在最旧的节点上重新启动。我该怎么做?
class MyTask {
@PostConstruct()
public void start() {
ignite.executorService(ignite.cluster().forOldest())
.submit(() -> myTask());
}
}
您可以启动单例 Ignite 服务 (https://apacheignite.readme.io/docs/service-grid),并为最旧的节点设置过滤器。它将保证故障转移安全。
在服务的 "execute" 方法中,您可以使用 while 循环启动任务。使用它,您可以处理任务完成和失败并重新启动它。