Ir al contenido principal
Infraestructura

Tu trabajo, con copia diaria y cada crédito explicado

· 3 min de lectura

Las partes de PageToVid que protegen tu trabajo no se ven, y así debe ser. El 22 de septiembre, una revisión completa del código las repasó una a una. Terminamos el día con tu trabajo copiado a diario, cada crédito explicado y cada fallo avisado.

Tus vídeos, recuperables al minuto

Tu cuenta, tus proyectos, tus storyboards y tus créditos viven en una sola base de datos. Cada versión puede cambiar su estructura, porque nuestros contenedores aplican el esquema más reciente al arrancar. Eso mantiene las versiones sencillas, y significa que cada versión es también un cambio en la base de datos. Queríamos que perder un día de trabajo de alguien fuera imposible.

Así que la base de datos tiene ahora:

  • copias de seguridad automáticas diarias, guardadas dos semanas;
  • recuperación a un momento concreto, a cualquier minuto dentro de ese plazo;
  • protección contra el borrado, para que no se pueda eliminar por error.

Hicimos una copia manual antes de activarlo y luego comprobamos que la primera copia automática terminó bien. Y mantuvimos una costumbre de aquel día: antes de cualquier versión que cambie el esquema, una copia nueva, anotada en las notas de la versión.

Cada crédito tiene su motivo

Cada movimiento de créditos tiene dos mitades. El saldo cambia de una vez, y luego una línea del registro dice por qué: qué vídeo, qué motivo, cuánto. El saldo es lo que gastas; el registro es lo que permite entenderlo, a ti y a nosotros.

La línea del registro se escribe ahora con el mismo cuidado que el saldo. Si no se puede escribir al primer intento, se reintenta tras una pausa breve. Si vuelve a fallar, recibimos un error con todo lo necesario para escribirla a mano, así que ningún movimiento se queda nunca sin su motivo.

De paso, añadimos un índice sobre el vídeo al que se refiere cada línea. La herramienta de estado consulta esas líneas en cada comprobación, así que preguntar cómo va un render también se volvió más rápido.

Saldos que cuadran

Un registro vale lo que vale la comprobación que lo lee. Así que añadimos una conciliación: en cada cuenta, ¿el saldo es igual a los créditos iniciales más la suma de todos los movimientos registrados? Cualquier cuenta donde no lo fuera aparecería al instante, con la mayor diferencia primero.

La comprobación tiene en cuenta los créditos iniciales con los que empieza cada cuenta nueva, y un test mantiene esa cifra igual al valor por defecto de la base de datos, para que nunca se separen en silencio. En su primera pasada completa, la lectura fue cero. Cada saldo se explicaba por sus movimientos, y una comprobación que marca cero por el motivo correcto es la que merece tu confianza.

Fallos que llegan a alguien

Cuando algo falla en un render, queremos saberlo antes de que tengas que contárnoslo. Decidimos no añadir otro proveedor. Una pequeña función escribe ahora cada fallo como una línea de registro estructurada, en el formato que entiende el servicio de informes de errores de Google Cloud: gravedad, traza, servicio y versión, más el vídeo o la cuenta afectados.

La plataforma agrupa las repeticiones, las cuenta y puede avisarnos. Sin bibliotecas extra, sin claves extra, nada más que mantener. Está conectada al gestor general de fallos del pipeline y al registro de créditos, los dos sitios donde un fallo más te importa.

Tests que se ejecutan donde importa

El último arreglo tenía que ver con nuestras propias comprobaciones. El test del registro de créditos necesitaba un usuario existente, y nuestro entorno de tests automáticos siempre empieza con una base vacía. Ahora crea su propio usuario temporal, le aplica todas las reglas sobre créditos y lo borra al terminar. Las reglas que protegen tu saldo se ejecutan ya en cada cambio que hacemos.

Nada de esto cambia lo que ves en pantalla, y de eso se trata. Son las redes bajo el trapecio:

  • comprobar que las copias existen, y que la primera funcionó;
  • conciliar el dinero desde dos lados independientes;
  • asegurarse de que cada test de seguridad se ejecuta de verdad.

Si construyes sobre nuestra API, la documentación para desarrolladores muestra cómo aparecen los créditos y los reembolsos en el estado de cada vídeo.

Míralo en tu propia web

Pega una página y obtén el vídeo narrado del que habla este blog. El primero es gratis.

Primer vídeo gratis · sin tarjeta · listo en minutos

← Todos los artículos