diff --git a/src/main/java/api/ApiApplication.java b/src/main/java/api/ApiApplication.java
index c28da07..c074efd 100644
--- a/src/main/java/api/ApiApplication.java
+++ b/src/main/java/api/ApiApplication.java
@@ -2,18 +2,32 @@
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import scheduler.SchedulerService;
 import tracker.DataCaptureServer;
 import java.io.IOException;
 
 @SpringBootApplication
 public class ApiApplication {
-    public static void main(String[] args) {
+    private static SchedulerService schedulerService;
     
+    public static void main(String[] args) {
         try{
             DataCaptureServer.start();
         }catch(IOException e){
             System.out.println(e);
         }
+        
+        // 启动定时任务服务
+        schedulerService = new SchedulerService();
+        schedulerService.start();
+        
+        // 添加关闭钩子，确保应用关闭时停止定时任务
+        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+            if (schedulerService != null) {
+                schedulerService.stop();
+            }
+        }));
+        
         SpringApplication.run(ApiApplication.class, args);
     }
 }
\ No newline at end of file
