对于某些作业,由于故障转移,我们需要在另一个节点上再次运行该作业之前进行一些清理或准备。这很重要,特别是如果前一次运行在db中生成一些部分结果。在作业再次运行之前需要清理它。
我找到了@GridComputeJobBeforeFailover。但它似乎不是默认的GridCompute.run()/ call()API支持。添加类似于GridComputeJobMasterLeaveAware的GridComputeJobFailoverAware接口将非常有用。当闭包是GridComputeJobFailoverAware的一个实例时,则使用ComputeJobImpl和@GridComputeJobBeforeFailover。
但是现在,如果我们想要在故障转移之前运行某些东西,我唯一的选择是实现自己的任务/作业吗?
答案 0 :(得分:0)
是的,现在您需要实施自己的GridComputeTask
/ GridComputeJob
课程。但是,您对基本runnables和callables支持此注释的建议非常有效。我已经为它提交了一张Jira票,因此它将被添加到产品中。