Cluster computing 当包含调度任务的主机在marklogic中关闭时,如何在群集中将调度任务从一台主机切换到另一台主机?

Cluster computing 当包含调度任务的主机在marklogic中关闭时,如何在群集中将调度任务从一台主机切换到另一台主机?,cluster-computing,marklogic,scheduler,host,Cluster Computing,Marklogic,Scheduler,Host,我在marklogic的引导节点中安排了一个任务,但主机可能会以某种方式停机,在这种情况下,我是如何将该任务切换到集群中的其他主机的 注意:我一次只能在集群中的一台主机上调度任务。分配调度任务的选项当前为特定主机设置,或保留为空并在所有主机上执行 因此,如果您希望确保在主机发生故障时任务仍在执行,可以将主机分配留空,并在任务内部添加逻辑以确定哪个主机应执行代码,其他主机将成为禁止操作 如何实现这一点的一个示例是向任务中添加代码,以评估xdmp:host()是否与openSecurity林是同一主

我在marklogic的引导节点中安排了一个任务,但主机可能会以某种方式停机,在这种情况下,我是如何将该任务切换到集群中的其他主机的


注意:我一次只能在集群中的一台主机上调度任务。

分配调度任务的选项当前为特定主机设置,或保留为空并在所有主机上执行

因此,如果您希望确保在主机发生故障时任务仍在执行,可以将主机分配留空,并在任务内部添加逻辑以确定哪个主机应执行代码,其他主机将成为禁止操作

如何实现这一点的一个示例是向任务中添加代码,以评估
xdmp:host()
是否与openSecurity林是同一主机(假设您的Security DB具有HA副本林以确保可用性,但可以使用任何数据库实现)

xquery version "1.0-ml";
let $status := xdmp:database("Security") => xdmp:database-forests() => xdmp:forest-status()
where $status/*:host-id/data() eq xdmp:host()
return
  (: this will only execute on the host with the open Security forest:)
  "execute task logic"