function principal() { if (validarUsuarioAdministrador()) { // Con esto podemos ver el status de la cola de mensajes require_once 'lib/php/beanstalkd/ColaMensajes.php'; $colaMensajes = new ColaMensajes("transformarvideos"); $colaMensajes->printStats(); } }
// Here comes your own actual code // This variable gives your own code the ability to breakdown the daemon: $runningOkay = true; // While checks on 3 things in this case: // - That the Daemon Class hasn't reported it's dying // - That your own code has been running Okay // - That we're not executing more than 3 runs while (!System_Daemon::isDying() && $runningOkay) { //System_Daemon::info("entrando al while"); // What mode are we in? // $mode = '"' . (System_Daemon::isInBackground() ? '' : 'non-' ) . // 'daemon" mode'; // System_Daemon::info('{appName} in %s %s/300', $a, $b); try { require_once 'lib/php/beanstalkd/ColaMensajes.php'; $colaMensajes = new ColaMensajes("transformarvideos"); $job = $colaMensajes->pop(); if ($job == "") { //Time out //System_Daemon::info("Time out!"); } else { $json = $job->getData(); require_once 'modulos/videos/controladores/videoControlador.php'; if (transformar($json)) { System_Daemon::notice('Video transformado correctamente'); } else { System_Daemon::info("ERROR! el resultado de la transformación no es cero"); } $colaMensajes->deleteJob($job); } } catch (Exception $e) {
function crearClase($idUsuario, $idCurso, $uuid, $idTema, $fileName, $fileType) { require_once 'modulos/cursos/clases/Clase.php'; require_once 'modulos/cursos/modelos/ClaseModelo.php'; require_once 'modulos/usuarios/modelos/usuarioModelo.php'; require_once 'modulos/cursos/modelos/CursoModelo.php'; require_once 'modulos/cursos/modelos/TemaModelo.php'; $filePath = "archivos/temporal/uploaderFiles/"; if (getIdUsuarioDeCurso($idCurso) == $idUsuario && getIdUsuarioFromUuid($uuid) == $idUsuario && $idCurso == getIdCursoPerteneciente($idTema)) { //Validamos que el curso sea del usuario, que el uuid pertenezca a este usuario y que el tema sea del curso $clase = new Clase(); $clase->idTema = $idTema; //Revisamos que el nombre del archivo no pase de 50 caractéres if (strlen($fileName) > 45) { $auxFileName = substr($fileName, 0, 50); if (!rename($filePath . $fileName, $filePath . $auxFileName)) { //Ocurrió un error al renombrar el archivo die('Ocurrió un error al subir el archivo'); } $fileName = $auxFileName; } $clase->titulo = $fileName; $clase->idTipoClase = getTipoClase($fileType); if ($clase->idTipoClase == 0) { $clase->transformado = 0; $idClase = altaClase($clase); //Si es video creamos la clase con la bandera que todavía no se transforma //guardamos en la cola que falta transformar este video //$url = "http://localhost/videos.php"; $file = $filePath . $fileName; $params = array("idClase" => $idClase, "file" => $file, "fileType" => $fileType); $json = json_encode($params); require_once 'lib/php/beanstalkd/ColaMensajes.php'; $colaMensajes = new ColaMensajes("transformarvideos"); $colaMensajes->push($json); return $clase; } else { $clase->transformado = 1; //Si es de otro tipo, lo subimos al CDN de rackspace y creamos la clase require_once 'modulos/cdn/modelos/cdnModelo.php'; $file = $filePath . $fileName; //Le agregamos al nombre del archivo un codigo aleatorio de 5 caracteres $fileName = getUniqueCode(15) . "_" . $fileName; $uri = crearArchivoCDN($file, $fileName, $clase->idTipoClase); if ($uri != NULL) { //Si se creo correctamene el archivo CDN, creamos la clase y borramos el archivo local $clase->archivo = $uri; altaClase($clase); return $clase; } else { //Si ocurrió un error, se borra y regresamos false unlink($file); return NULL; } } } else { //Hay errores en la integridad usuario <-> curso //borramos el archivo unlink("archivos/temporal/uploaderFiles/" . $fileName); return NULL; } }