seguimos habilitando la funcion realtime
All checks were successful
build-and-deploy / filter (push) Successful in 2s
build-and-deploy / build (push) Successful in 12s
build-and-deploy / deploy (push) Successful in 26s

This commit is contained in:
2025-06-09 17:36:27 -06:00
parent 39be1a2d27
commit 6d7f95fc71
2 changed files with 23 additions and 6 deletions

View File

@@ -7,19 +7,23 @@ export function registerSse(app) {
res.set({ res.set({
'Content-Type': 'text/event-stream', 'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache', 'Cache-Control': 'no-cache',
Connection: 'keep-alive' 'Connection': 'keep-alive'
}); });
res.flushHeaders();
res.write(':\n\n');
sseClients.push(res);
res.on('close', () => { res.flushHeaders();
res.write('event: connected\ndata: {}\n\n'); // ← mantiene el stream vivo
sseClients.push(res);
console.log(`🟢 Cliente SSE conectado (${sseClients.length})`);
req.on('close', () => {
const idx = sseClients.indexOf(res); const idx = sseClients.indexOf(res);
if (idx !== -1) sseClients.splice(idx, 1); if (idx !== -1) sseClients.splice(idx, 1);
res.end(); console.log(`🔌 Cliente SSE desconectado (${sseClients.length})`);
}); });
}); });
const broadcast = (data) => { const broadcast = (data) => {
const payload = `data: ${data}\n\n`; const payload = `data: ${data}\n\n`;
sseClients.forEach((client) => client.write(payload)); sseClients.forEach((client) => client.write(payload));

View File

@@ -9,6 +9,19 @@ server {
try_files $uri $uri/ /index.html; try_files $uri $uri/ /index.html;
} }
location /events {
proxy_pass http://planilla-api:4000;
proxy_http_version 1.1;
proxy_set_header Connection '';
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
location /config.js { location /config.js {
add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Origin' '*';
add_header 'Content-Type' 'application/javascript'; add_header 'Content-Type' 'application/javascript';