Eventos
Cada transición de una unidad y cada cambio de escalado se escribe en un registro de solo añadir, en la misma transacción de base de datos que el cambio. Léelo con un cursor.
curl
Code
TypeScript
Code
Python
Code
El sobre (contrato v1)
Code
seq es continuo y estrictamente creciente por Workload, de modo que un cursor nunca se salta un evento que se confirma tarde. Quien consume debe ignorar los campos y los tipos de evento desconocidos: las adiciones nunca son una versión nueva.
| Tipo | data |
|---|---|
unit.created, unit.starting, unit.ready, unit.stopped, unit.idle, unit.busy, unit.draining | |
unit.accepting, unit.not_accepting | |
unit.allocated, unit.allocation_delivered, unit.allocation_undelivered | |
unit.exited | {code, restarted} |
unit.failed | {reason} |
unit.destroyed | {reason} (expired cuando se destruye tras estar detenida demasiado tiempo) |
units.scaled | {from, to, reason}; unit es null |
rollout.started, rollout.completed, rollout.paused | unit es null |
webhook.ping (solo en entregas de webhooks) | |
events.gap (solo en entregas de webhooks) | {from_seq, to_seq}: eventos que un webhook reactivado se perdió porque ya no se conservaban |
unit.ready y unit.allocated llevan el nombre privado y la dirección pública de la unidad, así que un matchmaker no necesita una segunda lectura. idle y busy se emiten solo en las transiciones.
Parámetros
| Parámetro | Significado |
|---|---|
after | el último seq que viste; 0 empieza por el evento conservado más antiguo |
types | lista separada por comas que se conserva |
limit | hasta 500 |
wait | de 0 a 30 segundos: si no hay nada nuevo, retiene la petición y responde en cuanto llega un evento |
La respuesta es {events, next_after, oldest_retained_seq}. Envía next_after como el siguiente after. Los eventos se conservan 30 días. Un cursor más antiguo responde 410 cursor_expired con resume_after.
La entrega es al-menos-una-vez
Guarda el último seq procesado en la misma transacción que tu propio efecto y trata un seq repetido como ya hecho. Es la misma regla que hace seguros los webhooks.
