You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Que la web vea avanzar el proyecto paso a paso sin sondear la API, incluso tras cortes de red.
Alcance
GET /api/v1/projects/:id/events (text/event-stream), autenticado por la cookie de sesión y con comprobación de propietario.
Al conectar, o si Last-Event-ID es menor que project.rev, envía primero un evento snapshot (ProjectDTO completo) y después los cambios en vivo: step, scene, asset, project. El id de cada evento es la rev.
Un único suscriptor Redis por instancia de API, que reparte los eventos de project:<id> a sus conexiones.
Latido : ping cada 15 s; cabecera X-Accel-Buffering: no; excluido de compresión.
Se cierra al terminar el proyecto (completed, failed o cancelled) tras enviar el estado final.
Criterios de aceptación
Test con fake: un cliente SSE recibe snapshot y después eventos con rev estrictamente creciente hasta completed.
Test: reconectar con Last-Event-ID antiguo recibe un snapshot con el estado actual.
Test: otro usuario recibe 404 al conectarse al stream.
Test: con dos instancias de API, un cliente conectado a la instancia B recibe los eventos de un trabajo procesado mientras la A atiende la creación.
Activity