viabiliza/server.js
gabriel.pereira b3bca576da REFACTOR: Remoção de serviços obsoletos e implementação da nova funcionalidade de viabilidade pela API de contratação
- Removidos os arquivos não utilizados: fetchService, geocodeService, normalizeService e retryService.

- Adicionado o viabilidadeController para gerenciar consultas de viabilidade e upload de arquivos CSV.

- Criadas as viabilidadeRoutes para tratar as rotas da API relacionadas à viabilidade.

- Implementado o csvService para processamento de arquivos CSV e integração com as consultas de viabilidade.

- Criado o jobStore.service para gerenciamento do estado dos jobs durante o processamento do CSV.

- Desenvolvido o viabilidadeService para integração com a API de viabilidade.
2025-12-30 09:16:07 -03:00

31 lines
944 B
JavaScript

const http = require('http');
const app = require('./app');
const port = parseInt(process.env.PORT, 10) || 3000;
const server = http.createServer(app);
server.listen(port, () => {
console.log(`Server listening on port ${port} (env=${process.env.NODE_ENV || 'production'})`);
if (process.env.NODE_ENV === 'development' && process.env.DEV_SKIP_AUTH === 'true') {
console.log('[START-NOAUTH] DEV_SKIP_AUTH=true — authentication is bypassed');
}
});
function shutdown(signal) {
console.log(`Received ${signal}, shutting down...`);
server.close(() => {
console.log('Server closed.');
process.exit(0);
});
// force exit after 10s
setTimeout(() => {
console.error('Forcing shutdown.');
process.exit(1);
}, 10000).unref();
}
process.on('SIGINT', () => shutdown('SIGINT'));
process.on('SIGTERM', () => shutdown('SIGTERM'));
// export for tests / scripts
module.exports = server;