Remove outdated documentation files for companies and migration guide; implement server session management features including server assignment and session status updates; enhance database schema for servers and server sessions with new fields and validation; add auto-assign functionality for unassigned sessions.
This commit is contained in:
@@ -4,6 +4,8 @@ import { authController } from "./controllers/auth";
|
||||
import { sessionController } from "./controllers/session";
|
||||
import { companyController } from "./controllers/company";
|
||||
import { branchController } from "./controllers/branch";
|
||||
import { serverController } from "./controllers/server";
|
||||
import { serverSessionService } from "./services/serverSession";
|
||||
|
||||
const app = new Elysia();
|
||||
|
||||
@@ -18,9 +20,53 @@ app.use(authController);
|
||||
app.use(sessionController);
|
||||
app.use(companyController);
|
||||
app.use(branchController);
|
||||
app.use(serverController);
|
||||
|
||||
app.listen(3000);
|
||||
|
||||
console.log(
|
||||
`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
|
||||
);
|
||||
|
||||
// Запуск фоновой задачи для автоматического назначения серверов
|
||||
const AUTO_ASSIGN_INTERVAL_MS = parseInt(
|
||||
process.env.AUTO_ASSIGN_INTERVAL_MS || "1000",
|
||||
10
|
||||
); // 1 секунда по умолчанию
|
||||
|
||||
async function autoAssignServersTask() {
|
||||
try {
|
||||
const results = await serverSessionService.autoAssignServers();
|
||||
|
||||
if (results.total > 0) {
|
||||
console.log(
|
||||
`[${new Date().toISOString()}] 🎯 Auto-assign: ${
|
||||
results.assigned
|
||||
} assigned, ${results.failed} failed из ${results.total}`
|
||||
);
|
||||
|
||||
if (results.errors.length > 0) {
|
||||
console.error(
|
||||
`[${new Date().toISOString()}] ❌ Ошибки назначения:`,
|
||||
results.errors
|
||||
);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(
|
||||
`[${new Date().toISOString()}] ❌ Ошибка auto-assign:`,
|
||||
error instanceof Error ? error.message : error
|
||||
);
|
||||
}
|
||||
|
||||
// Планируем следующий запуск
|
||||
setTimeout(autoAssignServersTask, AUTO_ASSIGN_INTERVAL_MS);
|
||||
}
|
||||
|
||||
// Запускаем через 1 секунду после старта сервера
|
||||
setTimeout(() => {
|
||||
console.log(
|
||||
`[${new Date().toISOString()}] 🤖 Запуск фоновой задачи auto-assign (интервал: ${AUTO_ASSIGN_INTERVAL_MS}ms)`
|
||||
);
|
||||
autoAssignServersTask();
|
||||
}, 1000);
|
||||
|
||||
Reference in New Issue
Block a user