|
|
@@ -170,12 +170,14 @@ public class ClusterUniqueTask implements Task ,Serializable{
|
|
|
return true;
|
|
|
})
|
|
|
.flatMap(ignore->{
|
|
|
- lock.lock(pingTime,TimeUnit.SECONDS);
|
|
|
+ try {
|
|
|
+ lock.tryLock(pingTime,TimeUnit.SECONDS);
|
|
|
+ }catch (Exception e){}
|
|
|
if (listenDisposable!=null) {
|
|
|
//终止监听心跳
|
|
|
listenDisposable.dispose();
|
|
|
}
|
|
|
- if(State.running.equals(taskState)||State.running.equals(executor.getState())){
|
|
|
+ if(State.running.equals(taskState)&&!State.running.equals(executor.getState())){
|
|
|
executor.start();
|
|
|
}
|
|
|
return clusterManager.getTopic(pingTopic).publish(Mono.just(this)).then(Mono.empty());
|
|
|
@@ -304,7 +306,7 @@ public class ClusterUniqueTask implements Task ,Serializable{
|
|
|
* 抢夺失败时
|
|
|
*
|
|
|
*/
|
|
|
- if(listenDisposable==null) {
|
|
|
+ if(listenDisposable!=null) {
|
|
|
return;
|
|
|
}
|
|
|
listenDisposable = clusterManager.getTopic(pingTopic)
|