Skip to content
jmrunge edited this page Mar 22, 2013 · 8 revisions

Definiciones de MOSTO:

  1. Mosto es dueño de Melted. Se asume que nadie más tocará Melted que no sea Mosto, por ende se agregará, eliminará o modificará lo que esté cargado en Melted cuando Mosto lo requiera sin ningún tipo de validación salvo contra la propia info de Mosto.
  2. Mosto cargará las playlists completas en Melted. Luego agregará, eliminará o moverá los clips de acuerdo a cómo se vayan o no modificando dichas playlists.
  3. Las playlists podrán ser “encoladas” una a continuación de la otra o no. Esto deberá especificarse en un atributo de la playlist y servirá para evitar los negros o los overlaps:
  4. Si se marca como “encolada”, sin importar la hora exacta de arranque que tenga definida, se cargará a continuación de la lista anterior.
  5. Si no, se cargará a la hora especificada en la playlist.
  6. Mosto validará cada playlist que reciba contra la librería compartida con Caspa y emitirá los warnings necesarios via pub/sub. Casos posibles y su resolución:
  7. Overlap de playlists: emite warning. En caso de que la lista no esté marcada como “encolada”, si no se resuelve (desde Caspa) a la hora de tocar la playlist, asumirá que debe pisar la programación actual con la de dicha playlist.
  8. Negro entre playlists: emite warning. En caso de que la lista no esté marcada como “encolada”, de no resolverse (desde Caspa) a la hora de la finalización de la playlist que se está tocando, sacará una placa que tendrá definida por default al aire para cubrir ese negro.
  9. Mosto cargará cada clip de la playlist a través de un archivo xml que hará referencia al id de la playlist y al id del clip.
  10. Mosto se asegurará de que Melted siempre tenga por lo menos 4 horas de programación cargadas. Por ende, cuando vea que hay menos de 4 horas, buscará la playlist que va a continuación y la cargará.
  11. Mosto podrá leer las playlists a través del driver json (testing) o del driver mongo (production). Ambos drivers son excluyentes y se definirá cuál se usa en el archivo de configuración.
  12. El driver json se entera de los cambios en las playlists a través de un watch de un directorio en el que se graban los archivos de las playlists.
  13. El driver mongo se entera de los cambios en las playlists a través de mub/sub desde Caspa.
  14. Mosto implementará un protocolo de pub/sub (utilizando mub/sub) para emitir warnings e informes de estado y ser consultado por Caspa sobre estado de Melted, playlists cargados y otros a definir.
  15. Mosto persistirá su mapeo actual de Melted ↔ Playlists en mongo para, en caso de levantarse de una caída, poder reconstruir el mapeo y modifcar o no lo que corresponda.
  16. Las modificaciones de “fuerza bruta” deberán ser implementadas desde Caspa como modificaciones a la playlist que está tocando Mosto en ese momento. Mosto se entera por mub/sub y modifica Melted para reflejar el nuevo estado de la playlist.
  17. Mosto revisará Melted cada hora (salvo modificaciones de las playlists) y eliminará los clips que ya hayan sido tocados y verificará si debe cargar una nueva playlist (menos de 4 horas de programación) cargada.
Clone this wiki locally