上一章节我们dynamic catalog restful API开发,其中catalog删除API仅仅在coordinator节点操作就可以了,那么woker几点的catalog是怎么与worker几点保持一致的呢?这一章节就重点介绍prune worker catalogs是如何做到的。
在该类中存在如下的定时调度任务方法:
@PostConstruct
public void start()
{
if (enabled && !started.getAndSet(true)) {
executor.scheduleWithFixedDelay(() -> {
try {
pruneWorkerCatalogs();
}
catch (Throwable e) {
// ignore to avoid getting unscheduled
log.warn(e, "Error pruning catalogs");
}
}, updateInterval.toMillis(), updateInterval.toMillis(), MILLISECONDS);
}
}
下面的方法将coordinator节点中active catalogs发送给worker节点去触发prune,修剪worker节点的catalog调用的接口为:/v1/task/pruneCatalogs&#