From: Martín Marrese Date: Wed, 14 Jan 2004 19:33:58 +0000 (+0000) Subject: Todavia no se probo en servidores. Se agrego funcionalidad que no estaba lista en... X-Git-Tag: svn_import~64 X-Git-Url: https://git.llucax.com/mecon/yatta.git/commitdiff_plain/8d4c0f0f27f064fae5f7b9f3baca5efe1b079725?ds=sidebyside Todavia no se probo en servidores. Se agrego funcionalidad que no estaba lista en la revision anterior --- diff --git a/lib/YATTA/Controlador.php b/lib/YATTA/Controlador.php index ec4790b..a1ba0db 100644 --- a/lib/YATTA/Controlador.php +++ b/lib/YATTA/Controlador.php @@ -142,7 +142,6 @@ class YATTA_Controlador { //Actualizo la base procesos $sql = 'UPDATE yatta.procesos SET status = '. $status; - if (@$nota) { $sql.= ', nota = '. $nota; } @@ -153,16 +152,46 @@ class YATTA_Controlador { $sql.= ', notificar = '. $notificar; } $sql.= ' WHERE id = '. $id_proceso; - $res = $db->query($sql); - // Si hay error lo devuelve. if (DB::isError($res)) { return $res; } - //@TODO Aca notificar -// if (@$notificar) { -// } + //NOTIFICO + if (@$notificar) { + $res = $db->query( + "SELECT p.descripcion AS descripcion, p.owner AS owner, ". + "p.destinos AS destinos ". + "FROM yatta.procesos AS p"/ + "WHERE p.id = ". $id_proceso); + if (DB::isError($res)) { + return $res; + } + $res = $res->fetchRow(DB_FETCHMODE_ASSOC); + $dest = split (',', @$res['destinos']); + $to = $owner.'.gov.ar'; + foreach ($dest as $d) { + $to = $to . ", $d.gov.ar"; + } + $headers = "From: Intranet - YATTA \r\n"; + $subject = "Proceso finalizado"; + $body = "El proceso:\n". + $res['descripcion'] . + "\nha finalizado. Puede verificar el estado de finalizacion\n". + "en el sistema YATTA dentro de la intranet.\n". + "\n\n\n". + "************************************************************\n". + "Este es un mensaje generado automaticamente por MECON_YATTA.\n". + "Por favor no responder a esta direccion de e-mail.\n". + "************************************************************\n"; + mail($to, $subject, $body, $headers); + } + + //COPIO EL ARCHIVO + if (@$archivo) { + $arch = basename ($archivo); + rename ($archivo, '/var/www/yatta_tacho/'.$arch); + } //Actualizo los servidores $SERVER =& new YATTA_Servidor; diff --git a/lib/YATTA/ProcesoDB.php b/lib/YATTA/ProcesoDB.php index 3540c3f..5e0138b 100644 --- a/lib/YATTA/ProcesoDB.php +++ b/lib/YATTA/ProcesoDB.php @@ -501,6 +501,7 @@ class YATTA_ProcesoDB extends MECON_DBO { 'prioridad' => $this->prioridad, 'scheduling' => $this->scheduling, 'notificar' => $this->notificar, + 'resultado' => $this->resultado, ); } } diff --git a/script/servidores/YATTA_Server.php b/script/servidores/YATTA_Server.php index 40d38d2..5f7ae01 100755 --- a/script/servidores/YATTA_Server.php +++ b/script/servidores/YATTA_Server.php @@ -89,6 +89,8 @@ while (1) { //Si hay un proceso lo lanzo {{{ if (@$proceso) { + + yatta_log ('Hay un nuevo proceso. Se forkea'); $pid = pcntl_fork(); //FORK ERROR {{{ @@ -104,9 +106,11 @@ while (1) { //FORK PADRE {{{ elseif ($pid) { + yatta_log ('Fork Padre.') //Espero a que termine el proceso. while (($wapid = pcntl_waitpid ($pid, $status, WNOHANG)) != $pid) { if ($CONTROLADOR->abortar($db, $proceso['id'])) { + yatta_log ('Hay que abortar el proceso en ejecucion.'); posix_kill($pid, 15); //SIGTERM $CONTROLADOR->terminarProceso($db, $proceso['id'], $YATTA_SERVER['id'], 4); @@ -120,10 +124,12 @@ while (1) { //FORk HIJO {{{ else { + yatta_log ('Fork Hijo.') require_once $proceso['script']; if (function_exists('create_process')) { $SCRIPT =& create_process(); + yatta_log ('Se instancio el proceso. Se ejecuta el metodo run.'); $SCRIPT->run(); } else { @@ -143,6 +149,7 @@ while (1) { $CONROLADOR->terminarProceso($db, $proceso['id'], $YATTA_SERVER['id'], $estado, @$SCRIPT->error, @$SCRIPT->archivo, @$SCRIPT->notificar); + yatta_log ('Finalizo el proceso.') } //}}} @@ -151,7 +158,7 @@ while (1) { //No hay proceso {{{ else { - yatta_log('No hay procesos asignados a este servidor.'); + yatta_log ('No hay procesos asignados a este servidor.'); sleep(60); } //}}} @@ -160,6 +167,7 @@ while (1) { //}}} //CIERRO EL ARCHIVO DE LOG {{{ +yatta_log ('*************** Finaliza Ejecución ***************'); fclose ($FH); //}}} ?> \ No newline at end of file diff --git a/test/rename.php b/test/rename.php new file mode 100755 index 0000000..25bf964 --- /dev/null +++ b/test/rename.php @@ -0,0 +1,9 @@ +#!/usr/bin/php4 -qC +