Commit inicial: GTI Maquina Comercial
App local (Node + SQLite) para captura, tratamento e exportacao de leads comerciais, com dashboard de gestao, login/usuarios e integracao Z-PRO. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { loadDotEnv, GTI_PORT } from '../src/env.mjs';
|
||||
import { openDb, ensureSeeds } from '../src/db.mjs';
|
||||
import { createJobManager, recoverOrphans } from '../src/jobs/manager.mjs';
|
||||
import { createAppServer } from '../src/server/index.mjs';
|
||||
|
||||
// Servidor local do GTI Maquina Comercial. Inicie com:
|
||||
// npm start (ou node scripts/servidor.mjs, ou o GTI-Comercial.exe)
|
||||
// e abra http://127.0.0.1:3900 no navegador.
|
||||
|
||||
await loadDotEnv();
|
||||
|
||||
const log = (message) => console.log(`[servidor] ${message}`);
|
||||
|
||||
const db = openDb();
|
||||
await ensureSeeds(db, { log });
|
||||
recoverOrphans(db, log);
|
||||
|
||||
const jobs = createJobManager();
|
||||
const server = createAppServer({ db, jobs, log });
|
||||
|
||||
const port = GTI_PORT;
|
||||
server.listen(port, '127.0.0.1', () => {
|
||||
log(`GTI Maquina Comercial rodando em http://127.0.0.1:${port}`);
|
||||
log('somente este computador tem acesso (127.0.0.1). Ctrl+C para encerrar.');
|
||||
});
|
||||
|
||||
function shutdown() {
|
||||
log('encerrando...');
|
||||
server.close(() => {
|
||||
db.close();
|
||||
process.exit(0);
|
||||
});
|
||||
setTimeout(() => process.exit(0), 3000).unref();
|
||||
}
|
||||
|
||||
process.on('SIGINT', shutdown);
|
||||
process.on('SIGTERM', shutdown);
|
||||
Reference in New Issue
Block a user