Browse Source

修改定时任务配置

sunyj 9 years ago
parent
commit
5fed4627fb

+ 12 - 12
search-console-b2b/src/main/java/com/uas/search/console/b2b/Application.java

@@ -27,11 +27,11 @@ public class Application {
 	}
 
 	/**
-	 * 创建定时任务
+	 * 开启定时任务
 	 */
 	public static void startTask() {
 		SystemProperties systemProperties = ContextUtils.getBean(SystemProperties.class);
-		if (systemProperties.isDailyTaskAutoStart()) {
+		if (systemProperties.isTaskAutoStart()) {
 			UpdateVirtualColumnService updateVirtualColumnService = ContextUtils
 					.getBean(UpdateVirtualColumnService.class);
 			// 定时更新模具询价单虚拟列索引
@@ -42,18 +42,18 @@ public class Application {
 			updateVirtualColumnService.newUpdateOverdueDailyTask(PurchaseInquiryItemSimpleInfo.class,
 					systemProperties.getDailyTaskHour(), systemProperties.getDailyTaskMinute(),
 					systemProperties.getDailyTaskSecond());
-		}
 
-		// 监控实时更新异常情况
-		RealTimeUpdateMonitorService realTimeUpdateMonitorService = ContextUtils
-				.getBean(RealTimeUpdateMonitorService.class);
-		realTimeUpdateMonitorService.newTask();
+			// 定时监控实时更新异常情况
+			RealTimeUpdateMonitorService realTimeUpdateMonitorService = ContextUtils
+					.getBean(RealTimeUpdateMonitorService.class);
+			realTimeUpdateMonitorService.newTask();
 
-		// 开启定时任务
-		TaskService taskService = ContextUtils.getBean(TaskService.class);
-		if (!taskService.isStopped()) {
-			taskService.stop();
+			// 开启定时任务
+			TaskService taskService = ContextUtils.getBean(TaskService.class);
+			if (!taskService.isStopped()) {
+				taskService.stop();
+			}
+			taskService.start();
 		}
-		taskService.start();
 	}
 }

+ 14 - 14
search-console-b2b/src/main/java/com/uas/search/console/b2b/SystemProperties.java

@@ -14,12 +14,6 @@ import org.springframework.stereotype.Component;
 @Component
 public class SystemProperties {
 
-	/**
-	 * 每天定时任务是否自动开启
-	 */
-	@Value("${schedule.daily.auto-start}")
-	private boolean dailyTaskAutoStart;
-
 	/**
 	 * 每天定时任务时间中的小时
 	 */
@@ -38,6 +32,12 @@ public class SystemProperties {
 	@Value("${schedule.daily.time.second}")
 	private int dailyTaskSecond;
 
+	/**
+	 * 定时任务是否自动开启
+	 */
+	@Value("${schedule.auto-start}")
+	private boolean taskAutoStart;
+
 	/**
 	 * 短信模板id
 	 */
@@ -50,14 +50,6 @@ public class SystemProperties {
 	@Value("${service.message.sms.receivers}")
 	private Set<String> smsReceivers;
 
-	public boolean isDailyTaskAutoStart() {
-		return dailyTaskAutoStart;
-	}
-
-	public void setDailyTaskAutoStart(boolean dailyTaskAutoStart) {
-		this.dailyTaskAutoStart = dailyTaskAutoStart;
-	}
-
 	public int getDailyTaskHour() {
 		return dailyTaskHour;
 	}
@@ -82,6 +74,14 @@ public class SystemProperties {
 		this.dailyTaskSecond = dailyTaskSecond;
 	}
 
+	public boolean isTaskAutoStart() {
+		return taskAutoStart;
+	}
+
+	public void setTaskAutoStart(boolean taskAutoStart) {
+		this.taskAutoStart = taskAutoStart;
+	}
+
 	public String getSmsTemplateId() {
 		return smsTemplateId;
 	}

+ 1 - 9
search-console-b2b/src/main/java/com/uas/search/console/b2b/controller/SearchController.java

@@ -20,7 +20,6 @@ import com.uas.search.b2b.service.SearchService;
 import com.uas.search.b2b.service.SearchService.Table_name;
 import com.uas.search.b2b.util.SearchConstants;
 import com.uas.search.console.b2b.core.util.ContextUtils;
-import com.uas.search.console.b2b.core.util.PathUtils;
 import com.uas.search.console.b2b.service.InnerSearchService;
 import com.uas.search.console.b2b.util.ClassAndTableNameUtils;
 
@@ -98,12 +97,5 @@ public class SearchController {
 		return innerSearchService.getAllObjects(ClassAndTableNameUtils.toClass(tbName), page == null ? 0 : page,
 				size == null ? 0 : size);
 	}
-	
-	@RequestMapping("/test")
-	@ResponseBody
-	public void test() {
-		System.out.println("appPath: "+PathUtils.getAppPath());
-		System.out.println("classPath: "+PathUtils.getClassPath());
-		System.out.println("filePath: "+PathUtils.getFilePath());
-	}
+
 }

+ 7 - 4
search-console-b2b/src/main/java/com/uas/search/console/b2b/schedule/service/impl/TaskServiceImpl.java

@@ -16,7 +16,6 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import com.uas.search.b2b.exception.SearchException;
-import com.uas.search.console.b2b.core.util.PathUtils;
 import com.uas.search.console.b2b.schedule.model.Executable;
 import com.uas.search.console.b2b.schedule.model.TaskInformation;
 import com.uas.search.console.b2b.schedule.model.TaskLog;
@@ -41,6 +40,11 @@ public class TaskServiceImpl implements TaskService {
 	 */
 	private ScheduledExecutorService scheduledExecutorService;
 
+	/**
+	 * 任务执行日志文件的路径
+	 */
+	private static final String LOG_DIR = System.getProperty("java.io.tmpdir") + "search-b2b-task-log.log";
+
 	private Logger logger = LoggerFactory.getLogger(TaskServiceImpl.class);
 
 	@Override
@@ -84,11 +88,10 @@ public class TaskServiceImpl implements TaskService {
 		}
 		FileWriter fileWriter = null;
 		try {
-			logger.info("appPath: " + PathUtils.getAppPath());
-			fileWriter = new FileWriter(PathUtils.getAppPath() + "task-log.log", true);
+			fileWriter = new FileWriter(LOG_DIR, true);
 			fileWriter.write(log.toJSONString() + "\n");
 			fileWriter.flush();
-			logger.info("Saved task log:" + log.toJSONString() + "\n");
+			logger.info("Saved task log:" + log.toJSONString() + " to " + LOG_DIR + "\n");
 		} catch (IOException e) {
 			e.printStackTrace();
 		} finally {

+ 8 - 2
search-console-b2b/src/main/java/com/uas/search/console/b2b/service/impl/RealTimeUpdateMonitorServiceImpl.java

@@ -44,6 +44,11 @@ public class RealTimeUpdateMonitorServiceImpl implements RealTimeUpdateMonitorSe
 	@Autowired
 	private AQListener aqListener;
 
+	/**
+	 * 第一次执行的延迟时间间隔为1秒
+	 */
+	private static final long INITIAL_DELAY = 1000;
+
 	/**
 	 * 两次任务之间的等待时间间隔为10分钟
 	 */
@@ -60,6 +65,7 @@ public class RealTimeUpdateMonitorServiceImpl implements RealTimeUpdateMonitorSe
 				// 如果实时更新未正常运行,发送警告短信并自动重启实时更新服务
 				if (!workWell()) {
 					logger.error("实时更新未正常运行");
+					logger.info("发送警告短信...");
 					sendWarnSms();
 					if (aqListener.isRunning()) {
 						aqListener.stop();
@@ -68,7 +74,7 @@ public class RealTimeUpdateMonitorServiceImpl implements RealTimeUpdateMonitorSe
 				}
 			}
 		};
-		TaskInformation taskInformation = new TaskInformation(title, command, 0, PERIOD);
+		TaskInformation taskInformation = new TaskInformation(title, command, INITIAL_DELAY, PERIOD);
 		taskService.newTask(taskInformation);
 		return taskInformation;
 	}
@@ -101,7 +107,7 @@ public class RealTimeUpdateMonitorServiceImpl implements RealTimeUpdateMonitorSe
 	 */
 	private void sendWarnSms() {
 		smsService.sendAll(systemProperties.getSmsTemplateId(), systemProperties.getSmsReceivers(),
-				new Object[] { "B2B实时更新服务出现问题,已经自动重启实时更新服务" });
+				new Object[] { "B2B实时更新服务出现问题,正在自动重启实时更新服务" });
 	}
 
 }

+ 1 - 1
search-console-b2b/src/main/resources/bootstrap.yml

@@ -27,11 +27,11 @@ security:
   
 schedule:
  daily:
-  auto-start: true
   time:
    hour: 3
    minute: 0
    second: 0
+ auto-start: true
    
 zk:
  url: zookeeper://10.10.100.11:2181