view src/main/java/christie/topology/manager/keepalive/RemoveTask.java @ 111:671246274719

fix file dir
author akahori
date Tue, 20 Nov 2018 18:29:13 +0900
parents fd944876257b
children
line wrap: on
line source

package christie.topology.manager.keepalive;


import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;

public class RemoveTask extends CodeGear {

    @Take
    ListManager _SCHEDULER;

    @Take
    TaskInfo _REMOVETASK;

    public RemoveTask(){
    }

    @Override
    protected void run(CodeGearManager cgm) {
        TaskExecuter exec = TaskExecuter.getInstance();
        if (!exec.compareAndSkip(_REMOVETASK)){
            // case: remove _REMOVETASK is still in the waiting queue.
            boolean removeFlag = _SCHEDULER.deleteTask(_REMOVETASK);
            if (!removeFlag){
                getLocalDGM().put("_REMOVETASK", _REMOVETASK);
                return;
            }
        }
        getLocalDGM().put("_SCHEDULER", _SCHEDULER);
    }
}