JSD-6952 开源任务代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

49 lines
1.6 KiB

/*
* Copyright (C), 2018-2021
* Project: starter
* FileName: LifeCycleMonitorImpl
* Author: Louis
* Date: 2021/3/30 15:10
*/
package com.fr.plugin.mqh.dingtalksyn.provider;
import com.fanruan.api.log.LogKit;
import com.fr.plugin.context.PluginContext;
import com.fr.plugin.mqh.dingtalksyn.helper.DingTalkScheduleHelper;
import com.fr.plugin.observer.inner.AbstractPluginLifecycleMonitor;
import com.fr.plugin.mqh.dingtalksyn.config.DingSynConfig;
import static com.fr.plugin.mqh.dingtalksyn.helper.DingTalkScheduleHelper.DINGTALK_SCHEDULE_SYN_MEMBER_GROUP;
import static com.fr.plugin.mqh.dingtalksyn.helper.DingTalkScheduleHelper.DINGTALK_SCHEDULE_SYN_MEMBER_JOB_NAME;
/**
* <Function Description><br>
* <LifeCycleMonitorImpl>
*
* @author Louis
* @since 1.0.0
*/
public class LifeCycleMonitorImpl extends AbstractPluginLifecycleMonitor {
public LifeCycleMonitorImpl() {
}
@Override
public void afterRun(PluginContext pluginContext) {
DingSynConfig.getInstance();
this.reStartSchedule();
}
@Override
public void beforeStop(PluginContext pluginContext) {
DingTalkScheduleHelper.getInstance().stopSchedule(DINGTALK_SCHEDULE_SYN_MEMBER_JOB_NAME, DINGTALK_SCHEDULE_SYN_MEMBER_GROUP);
}
private void reStartSchedule() {
try {
String cronCondition = DingSynConfig.getInstance().getCronCondition();
DingTalkScheduleHelper.getInstance().startSynMemberSchedule(cronCondition);
} catch (Exception e) {
LogKit.error(e.getMessage(), e);
}
}
}