美文网首页Java 杂谈
elastic job源码分析 - 作业触发监听管理器

elastic job源码分析 - 作业触发监听管理器

作者: 耶也夜 | 来源:发表于2018-09-06 18:56 被阅读2次

    作业触发监听管理器io.elasticjob.lite.internal.instance.TriggerListenerManager启动作业触发监听器io.elasticjob.lite.internal.instance.TriggerListenerManager.JobTriggerStatusJobListener监听当前实例在zk路径上的值改变事件。

    if (!InstanceOperation.TRIGGER.name().equals(data) || !instanceNode.isLocalInstancePath(path) || Type.NODE_UPDATED != eventType) {
        return;
    }
    

    一般情况下,设置节点jobName/instance/实例ID的值为TRIGGER时,可以触发实例立即执行任务,但任务正在执行中除外。

    if (!JobRegistry.getInstance().isShutdown(jobName) && !JobRegistry.getInstance().isJobRunning(jobName)) {
        JobRegistry.getInstance().getJobScheduleController(jobName).triggerJob();
    }
    

    事件通知后,会把该节点的值重置为空("")。

    相关文章

      网友评论

        本文标题:elastic job源码分析 - 作业触发监听管理器

        本文链接:https://www.haomeiwen.com/subject/ywffgftx.html