From de0d2712aeb708b7077beaaa2220d3e24d52ddfd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Fri, 9 Jan 2004 16:59:51 +0000 Subject: [PATCH] Comienzo a trabajar con los scripts de los servidores --- doc/DOC.txt | 21 ++++++++++--- script/{ => instalacion}/generacion_base.sql | 6 ++-- sistema/local_lib/prepend.php | 2 -- sistema/www/archivos.php | 2 +- sistema/www/procesos.php | 2 +- test/nuevo_proceso.php | 32 ++++++++++++++++++++ 6 files changed, 53 insertions(+), 12 deletions(-) rename script/{ => instalacion}/generacion_base.sql (91%) create mode 100755 test/nuevo_proceso.php diff --git a/doc/DOC.txt b/doc/DOC.txt index e4def0b..8b5b593 100644 --- a/doc/DOC.txt +++ b/doc/DOC.txt @@ -5,21 +5,22 @@ SCRIPTS: - Servidores "Clientes": CRON - - BuscarProceso: Este verifica si hay algun proceso ejecutandose en la + - Verifica si hay algun proceso ejecutandose en la maquina. Si hay alguno no realiza ninguna otra accion. Si no hay procesos ejecutandose busca en el MySQL el proximo proceso para ser ejecutado (Elegir segun la prioridad de los procesos). - - AbortarProceso: Verifica si se aborto un proceso en el MySQL y actua + - Verifica si se aborto un proceso en el MySQL y actua en consecuencia. - - VerificarProceso: Verifica la informacion que hay en el MySQL y - corrige cualquier error que pudiera haber. + - Verifica la informacion que hay en el MySQL y corrige cualquier error + que pudiera haber. - Hay un proceso con estado en ejecucion en la base pero en realidad no esta corriendo en el server. Se modifica el estado a error. NO CRON - - FinalizacionProceso: Este recibe el aviso desde un proceso en + - Hacer esto en una funcion en YATTA_Proceso. + Este recibe el aviso desde un proceso en ejecucion que el mismo termino y actua en consecuencia. Actualiza los datos en la base y trae el proximo proceso a ejecutar (Puede llamar en este ultimo caso a BuscarProceso). Encargado tambien de moverlos @@ -29,6 +30,16 @@ ASIGNACION DE PROCESOS: ---------------------- - Los procesos se asignan a los servidores teniendo en cuenta la escala del servidor y la cantidad de procesos que tiene el mismo. + + escala * procesos = K + + Elijo le K mas chico. Si hay mas de un servidor elijo el de escala mas + chicha. + +PID +--- + - Los pid de los procesos se ponen en null en el MySQL + TODO: ---- diff --git a/script/generacion_base.sql b/script/instalacion/generacion_base.sql similarity index 91% rename from script/generacion_base.sql rename to script/instalacion/generacion_base.sql index 67a8c2a..e6fad5c 100644 --- a/script/generacion_base.sql +++ b/script/instalacion/generacion_base.sql @@ -18,7 +18,7 @@ CREATE TABLE procesos ( descripcion text NOT NULL, pid int(10) default NULL, server int(10) default NULL, - status tinyint(1) default NULL, + status tinyint(1) default 0, owner varchar(20) NOT NULL, destinos varchar(255) default NULL, prioridad tinyint(1) default 9, @@ -26,7 +26,7 @@ CREATE TABLE procesos ( notificar tinyint(1) default 1, resultado varchar(255) default NULL, archivo varchar(255) default NULL, - nota text NOT NULL, + nota text default NULL, PRIMARY KEY (id) ) TYPE=MyISAM; @@ -38,6 +38,6 @@ CREATE TABLE servidores ( id int(10) NOT NULL auto_increment, nombre varchar (20) NOT NULL, escala tinyint(1) default 9, - p_en_espera int(10) default 0, + procesos int(10) default 0, PRIMARY KEY (id) ) TYPE=MyISAM; diff --git a/sistema/local_lib/prepend.php b/sistema/local_lib/prepend.php index 8720513..77ed5f3 100644 --- a/sistema/local_lib/prepend.php +++ b/sistema/local_lib/prepend.php @@ -9,8 +9,6 @@ require_once 'MECON/Marco.php'; require_once 'SAMURAI/Perm.php'; require_once 'constantes.php'; //Archivo de constantes de SAMURAI -session_start(); - //Creo una conexion a la base de datos $DB =& DB::connect('mysql://intranet:intranet@bal747f/yatta', true); if (DB::isError($DB)) { diff --git a/sistema/www/archivos.php b/sistema/www/archivos.php index 39e568f..1c74c20 100644 --- a/sistema/www/archivos.php +++ b/sistema/www/archivos.php @@ -60,7 +60,7 @@ if (@$id && @$accion) { break; case 'borrar': $ARCHIVO->borrar($DB); - //Capturar el posible error + //TODO Capturar el posible error header ('Location:archivos'); break; } diff --git a/sistema/www/procesos.php b/sistema/www/procesos.php index 0ec8b8f..d103030 100644 --- a/sistema/www/procesos.php +++ b/sistema/www/procesos.php @@ -97,7 +97,7 @@ $TABLA->addRow(array( 'Presionando sobre el icono puede ver una explicacion del mismo.' )); $TABLA->addRow(array( - new MECON_HTML_Image ('/sistemas/yatta/images/estado_0.gif', + new MECON_HTML_Image ('/sistemas/yatta/images/estado_4.gif', 'Abortado'), 'El proceso fue detenido por alguna persona (el responsable o'. ' el administrador). Presionando sobre el icono puede ver una'. diff --git a/test/nuevo_proceso.php b/test/nuevo_proceso.php new file mode 100755 index 0000000..09b88b0 --- /dev/null +++ b/test/nuevo_proceso.php @@ -0,0 +1,32 @@ +#!/usr/bin/php4 -qC +getMessage()); +} + +//CREO EL OBJETO YATTA_Proceso +$PROCESO =& new YATTA_Proceso; +//ASIGNO LOS DATOS CORRESPONDIENTES. +$PROCESO->script = 'PRUEBA NUEVO PROCESO'; +$PROCESO->id_sistema = '74'; +$PROCESO->descripcion = 'Prueba agregar proceso por libreria'; +$PROCESO->owner = 'msklar@mecon'; +$PROCESO->destinos = 'mmarre@mecon'; +$PROCESO->notificar = '1'; +//GUARDO LOS DATOS EN BASE. +$PROCESO->guardar($DB); +?> -- 2.43.0