Nhật ký công việc cho nhiệm vụ "Tối ưu hóa thời gian khởi động dự án"

10 авг. 2026 г., 09:33:43

Trên vietnamguru, tôi đã làm thế này:

--- a/server/index.ts
+++ b/server/index.ts
@@ -49,11 +49,12 @@ async function startServer() {
   stopGraphql = stop
 
   if (withN8N) {
-    // Start n8n as child process (waits for API to be ready)
-    await initN8n()
-
-    // Run bootstrap (create owner, import credentials if needed)
-    await runBootstrap()
+    // Start n8n as child process in background (non-blocking)
+    initN8n()
+      .then(() => runBootstrap())
+      .catch((err) => {
+        console.error('[n8n] Failed to initialize:', err)
+      })
   }
 

Thực ra chỗ này có một điểm trừ - nếu n8n bị lỗi, server sẽ không khởi động lại. Nhưng chúng ta có thể chấp nhận điều này vì ưu tiên khởi động nhanh hơn. Chứ trong khoảng 10-15 giây downtime đó, các công cụ tìm kiếm kịp ghé thăm và sau đó phàn nàn về lỗi 502.

21.06.2026