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();
    }
}
示例#2
0
// 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) {
示例#3
0
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;
    }
}