Commit d07d40a7 by guominglei

Merge remote-tracking branch 'origin/developer' into developer

parents bc2d8dc5 848b5d07
...@@ -50,8 +50,7 @@ myth-job: ...@@ -50,8 +50,7 @@ myth-job:
myth: myth:
plugin: plugin:
env: plugin_test env: ${myth-rpc.registry.env}
biz: byit-myth-job biz: ${myth-rpc.registry.biz}
port: 8971
register: register:
url: http://localhost:8080/myth-register url: ${myth-rpc.registry.address}
\ No newline at end of file \ No newline at end of file
...@@ -7,6 +7,7 @@ import com.byit.model.RunRecording; ...@@ -7,6 +7,7 @@ import com.byit.model.RunRecording;
import com.byit.service.JavaTaskService; import com.byit.service.JavaTaskService;
import com.byit.service.mapservice.JavaTaskAndLogService; import com.byit.service.mapservice.JavaTaskAndLogService;
import com.byit.task.JavaTaskJobTask; import com.byit.task.JavaTaskJobTask;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.ParseException; import java.text.ParseException;
...@@ -25,14 +26,16 @@ public class JavaTaskAndLogServiceServiceImpl implements JavaTaskAndLogService { ...@@ -25,14 +26,16 @@ public class JavaTaskAndLogServiceServiceImpl implements JavaTaskAndLogService {
@Override @Override
public void updateJavaTaskAndSaveLog(JavaTask javaTask) { public void updateJavaTaskAndSaveLog(JavaTask javaTask) {
JavaTask updateJavaTask = new JavaTask();
try { try {
javaTask.setTriggerTime(new CronExpression(javaTask.getCron()).getNextValidTimeAfter(new Date()).getTime()); BeanUtils.copyProperties(javaTask,updateJavaTask);
updateJavaTask.setTriggerTime(new CronExpression(javaTask.getCron()).getNextValidTimeAfter(new Date()).getTime());
} catch (ParseException e) { } catch (ParseException e) {
javaTask.setTriggerTime(999999999999999999L); javaTask.setTriggerTime(999999999999999999L);
e.printStackTrace(); e.printStackTrace();
} }
javaTaskService.updateById(javaTask); javaTaskService.updateById(updateJavaTask);
//保存到调度轮 //保存到调度轮
JavaTaskJobTask javaTaskJobTask = new JavaTaskJobTask(javaTask); JavaTaskJobTask javaTaskJobTask = new JavaTaskJobTask(javaTask);
WorkRoulette.addJob(javaTaskJobTask,javaTask.getTriggerTime()); WorkRoulette.addJob(javaTaskJobTask,javaTask.getTriggerTime());
......
...@@ -35,9 +35,7 @@ public class JavaTaskJobTask implements TimerTask { ...@@ -35,9 +35,7 @@ public class JavaTaskJobTask implements TimerTask {
@Override @Override
public void run(Timeout timeout) throws Exception { public void run(Timeout timeout) throws Exception {
MythJobAutoConfigure.LOW_LEVEL_JOB_THREAD_POOL.execute(()->{ MythJobAutoConfigure.LOW_LEVEL_JOB_THREAD_POOL.execute(this::runJob);
runJob();
});
} }
...@@ -95,4 +93,7 @@ public class JavaTaskJobTask implements TimerTask { ...@@ -95,4 +93,7 @@ public class JavaTaskJobTask implements TimerTask {
} }
public JavaTask getJavaTask() {
return javaTask;
}
} }
...@@ -21,6 +21,7 @@ public class JavaTaskThreadRunHelper extends BaseThreadRunHelper { ...@@ -21,6 +21,7 @@ public class JavaTaskThreadRunHelper extends BaseThreadRunHelper {
private final JavaTaskService javaTaskService; private final JavaTaskService javaTaskService;
private final JavaTaskAndLogService javaTaskAndLogService; private final JavaTaskAndLogService javaTaskAndLogService;
private static final long PRE_READ_MS = 7000; private static final long PRE_READ_MS = 7000;
private static final long JAVA_TASK_WAIT_TIME = 15000;
public JavaTaskThreadRunHelper(DataSource dataSource, JavaTaskService javaTaskService, JavaTaskAndLogService javaTaskAndLogService) { public JavaTaskThreadRunHelper(DataSource dataSource, JavaTaskService javaTaskService, JavaTaskAndLogService javaTaskAndLogService) {
this.dataSource = dataSource; this.dataSource = dataSource;
...@@ -42,7 +43,7 @@ public class JavaTaskThreadRunHelper extends BaseThreadRunHelper { ...@@ -42,7 +43,7 @@ public class JavaTaskThreadRunHelper extends BaseThreadRunHelper {
javaTaskAndLogService.updateJavaTaskAndSaveLog(javaTask); javaTaskAndLogService.updateJavaTaskAndSaveLog(javaTask);
}); });
} }
return PRE_READ_MS; return JAVA_TASK_WAIT_TIME;
} }
@Override @Override
......
...@@ -56,4 +56,9 @@ public @interface TaskHandler { ...@@ -56,4 +56,9 @@ public @interface TaskHandler {
* @return * @return
*/ */
String sendEmail() default ""; String sendEmail() default "";
/**
* 扩展信息
*/
String expand() default "";
} }
...@@ -5,6 +5,7 @@ import com.byit.registry.PluginServiceRegistry; ...@@ -5,6 +5,7 @@ import com.byit.registry.PluginServiceRegistry;
import com.byit.server.PluginServer; import com.byit.server.PluginServer;
import com.byit.task.annotations.TaskHandler; import com.byit.task.annotations.TaskHandler;
import com.byit.task.handler.interfaces.IJobHandler; import com.byit.task.handler.interfaces.IJobHandler;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
...@@ -13,6 +14,7 @@ import org.springframework.context.ApplicationContext; ...@@ -13,6 +14,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* spring实现 * spring实现
...@@ -24,6 +26,8 @@ public class RpcSpringPluginServerFactory extends PluginServerFactory implements ...@@ -24,6 +26,8 @@ public class RpcSpringPluginServerFactory extends PluginServerFactory implements
private String env; private String env;
private int port; private int port;
private Map<String,String> taskNameExpand = new ConcurrentHashMap<>(8);
public RpcSpringPluginServerFactory(String address, String biz, String env, int port) { public RpcSpringPluginServerFactory(String address, String biz, String env, int port) {
this.address = address; this.address = address;
this.biz = biz; this.biz = biz;
...@@ -50,9 +54,17 @@ public class RpcSpringPluginServerFactory extends PluginServerFactory implements ...@@ -50,9 +54,17 @@ public class RpcSpringPluginServerFactory extends PluginServerFactory implements
TaskHandler annotation = value.getClass().getAnnotation(TaskHandler.class); TaskHandler annotation = value.getClass().getAnnotation(TaskHandler.class);
String taskName = annotation.taskName(); String taskName = annotation.taskName();
super.addService(taskName,value); super.addService(taskName,value);
String expand = annotation.expand();
if (StringUtils.isNotBlank(expand)) {
taskNameExpand.put(taskName,expand);
}
}else{ }else{
System.err.println("警告!bean"+key+"不是【com.byit.task.handler.interfaces.IJobHandler】类型!忽略该bean!"); System.err.println("警告!bean"+key+"不是【com.byit.task.handler.interfaces.IJobHandler】类型!忽略该bean!");
} }
}); });
} }
public RpcSpringPluginServerFactory(Map<String, String> taskNameExpand) {
this.taskNameExpand = taskNameExpand;
}
} }
...@@ -59,7 +59,7 @@ public class NettyPluginServerHandler extends SimpleChannelInboundHandler<Plugin ...@@ -59,7 +59,7 @@ public class NettyPluginServerHandler extends SimpleChannelInboundHandler<Plugin
rpcResponsePacket.setStatus(true); rpcResponsePacket.setStatus(true);
rpcResponsePacket.setRunTime(endTime-startTime); rpcResponsePacket.setRunTime(endTime-startTime);
rpcResponsePacket.setExtension(msg.getExtension()); rpcResponsePacket.setExtension(msg.getExtension());
}catch (Exception e){ }catch (Throwable e){
rpcResponsePacket.setCode("500000"); rpcResponsePacket.setCode("500000");
rpcResponsePacket.setMsg(e.getMessage()); rpcResponsePacket.setMsg(e.getMessage());
rpcResponsePacket.setStatus(false); rpcResponsePacket.setStatus(false);
......
...@@ -3,7 +3,7 @@ server: ...@@ -3,7 +3,7 @@ server:
myth: myth:
plugin: plugin:
env: plugin_test env: huangfu
biz: byit-myth-job biz: byit-myth-job
port: 8971 port: 8971
register: register:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment