我们正在使用hazelcast执行服务在我们的服务器群集中分配任务。
我们想关闭一台服务器并将其从集群中取出,但允许其继续工作一段时间以完成其工作,但不接受hazelcast执行程序服务中的任何新任务。
我不想关闭hazelcast实例,因为当前任务可能需要它来完成其工作。
关闭hazelcast执行程序服务不是我想要的。这将在群集范围内关闭执行程序。
我想继续处理本地队列中的任务,直到它为空,然后关闭。
有没有办法让群集中的节点继续使用hazelcast,但告诉它停止从执行程序服务中接受新任务呢?
并不容易,但是您具有成员属性(Member :: setX / :: getX),并且可以设置一个属性来表示“请不要新任务”,并且在提交任务时,您可以根据属性,或者将重载与MemberSelector一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句