diff --git a/src/main/java/com/leaper/pm2java/entity/AppServerInfo.java b/src/main/java/com/leaper/pm2java/entity/AppServerInfo.java index 43ad6a4..d654c33 100644 --- a/src/main/java/com/leaper/pm2java/entity/AppServerInfo.java +++ b/src/main/java/com/leaper/pm2java/entity/AppServerInfo.java @@ -7,6 +7,8 @@ import lombok.Data; import java.io.Serializable; import java.time.LocalDateTime; +import static java.lang.Boolean.TRUE; + @Data public class AppServerInfo extends AppServerEntity implements Serializable { long cpuTime; @@ -30,6 +32,8 @@ public class AppServerInfo extends AppServerEntity implements Serializable { Integer reNumber =0; String sessionName; + + Boolean RestartInSmallHours=TRUE; int sessionNumber; boolean permanentlyDelete; diff --git a/src/main/java/com/leaper/pm2java/service/impl/Pm2JavaServiceImpl.java b/src/main/java/com/leaper/pm2java/service/impl/Pm2JavaServiceImpl.java index 7ed4570..14a432a 100644 --- a/src/main/java/com/leaper/pm2java/service/impl/Pm2JavaServiceImpl.java +++ b/src/main/java/com/leaper/pm2java/service/impl/Pm2JavaServiceImpl.java @@ -277,6 +277,7 @@ public class Pm2JavaServiceImpl implements Pm2JavaService { Process process = pb.start(); processBuilderMap.put(appConfigEntity.getName(), process); appServerInfoRecordMap.get(appConfigEntity.getName()).setOnOff(true); + appServerInfoRecordMap.get(appConfigEntity.getName()).setStartTime(LocalDateTime.now()); appServerInfoRecordMap.get(appConfigEntity.getName()).setSelectTime(LocalDateTime.now()); log.info("{}服务启动", appConfigEntity.getName()); processBuilderUtil.getProcessLogs(processBuilderMap.get(appConfigEntity.getName()),appConfigEntity.getName()); diff --git a/src/main/java/com/leaper/pm2java/service/task/CronTask.java b/src/main/java/com/leaper/pm2java/service/task/CronTask.java new file mode 100644 index 0000000..105f8ec --- /dev/null +++ b/src/main/java/com/leaper/pm2java/service/task/CronTask.java @@ -0,0 +1,27 @@ +package com.leaper.pm2java.service.task; + +import com.leaper.pm2java.entity.AppServerInfo; +import com.leaper.pm2java.service.Pm2JavaService; +import com.leaper.pm2java.service.impl.Pm2JavaServiceImpl; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class CronTask { + + @Resource + private Pm2JavaService pm2JavaService; + + @Scheduled(cron = "0 10 0 * * ?") // 每隔60秒执行一次任务 + public void executeTask() { + for ( String appServerInfo : Pm2JavaServiceImpl.appServerInfoRecordMap.keySet()){ + if (Pm2JavaServiceImpl.appServerInfoRecordMap.get(appServerInfo).getRestartInSmallHours() && Pm2JavaServiceImpl.processBuilderMap.get(appServerInfo)!= null){ + pm2JavaService.stop(Pm2JavaServiceImpl.appServerInfoRecordMap.get(appServerInfo)); + pm2JavaService.start(Pm2JavaServiceImpl.appServerInfoRecordMap.get(appServerInfo)); + } + + } + } +} diff --git a/src/main/java/com/leaper/pm2java/util/MyService.java b/src/main/java/com/leaper/pm2java/util/MyService.java index 81d3bac..4ba4634 100644 --- a/src/main/java/com/leaper/pm2java/util/MyService.java +++ b/src/main/java/com/leaper/pm2java/util/MyService.java @@ -14,19 +14,6 @@ public class MyService { System.out.println("MyService stopped"); } - public static void main(String[] args) { - String command = args.length > 0 ? args[0] : ""; - String serviceName = "MyCustomService"; - - if (command.equals("install")) { - installService(serviceName); - } else if (command.equals("uninstall")) { - uninstallService(serviceName); - } else { - // 启动服务 - runService(); - } - } private static void installService(String serviceName) { Path currentPath = Paths.get("");