Surfistes a càmara lenta

Generació concurrent d’elements multimèdia (part I)

Posted on: Juliol 30, 2009

Un dels objectius que tenim fixats dins del projecte MyWay (generació dels continguts de les assignatures en diferents formats) és aconseguir un ritme de generació bastant elevat. Penseu que no només hi ha els continguts nous d’aquest any, sinó que també tenim tota una llarga llista d’assignatures d’anys passats i que també hem de generar.

Amb aquest objectiu al cap, i sabent que els continguts que triguen més a generar-se són els audiollibres i els videollibres (generar un ebook al estil epub o mobipocket d’una assignatura no costa més de 5 minuts!!), ens vam posar a pensar de quines maneres podíem accelerar el procés de generació.

Primer de tot, vàrem veure que no podíem permetre’ns el luxe de generar només una assignatura a la vegada, doncs un videollibre podia arribar a trigar fins a 24h en generar-se. Així doncs vam establir, dins del nostre projecte (J2EE + Spring + Tomcat) un sistema de gestió de treballs o tasques amb Quartz. Nosaltres programem els treballs que volem fer i establim el màxim número de treballs (o threads dins del nostre generador) que es poden estar executant alhora.

D’aquesta manera també aconseguim que, si s’està generant un videollibre, no bloquegi durant 24h o més el procés de generació d’un ebook o audiollibre. Nosaltres tenim establerts 3 treballs: un que va comprovant si hi ha assignatures noves a generar (en cas afirmatiu inserta una petició d’aquella assignatura per cadascun dels 4 formats actuals), un que genera els formats d’ebook (epub i mobipocket) i un altre que genera els formats amb veu (audiollibre i videollibre).

Aquests 3 treballs “programats” s’executen, tal com hem esmentat, alhora, fins a un màxim de 3 treballs concurrents (podem augmentar o disminuir aquest número al nostre gust). Així doncs podem tenir al mateix temps generant-se 3 formats de 3 assignatures diferents (3 videollibres o 2 videollibres i 1 audiollibre …). Tot depèn de la capacitat i càrrega del servidor on s’estigui executant!

En la pròxima entrada explicarem com vàrem millorar, a continuació, el procés de generació d’un videollibre.

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

S'està connectant a %s

Anuncis
%d bloggers like this: