La pantalla de configuración (figura siguiente) aparece después de que Agent Builder haya terminado de crear el tipo de recurso y de que se haya seleccionado el botón Siguiente en la pantalla de creación. No se puede acceder a la pantalla de configuración sin haber creado el tipo de recurso con anterioridad.
La pantalla de configuración contiene los campos siguientes:
Orden de inicio: la línea de órdenes completa que se puede pasar a cualquier shell de UNIX para iniciar la aplicación básica. Es necesario especificar esta orden. Se puede escribir la orden en el campo suministrado o utilizar el botón Examinar para localizar un archivo que contenga la orden para iniciar la aplicación.
La línea de órdenes completa debe incluir todo lo necesario para iniciar la aplicación, como nombres de sistema, números de puerto, una ruta a los archivos de configuración, etc. Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes, se puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
No ponga la orden entre comillas dobles (““).
Si la aplicación básica tiene muchos árboles de procesos independientes, cada uno de los cuales se inicia con su propia etiqueta, bajo el control de PMF, no será posible especificar una sola orden. En su lugar, se debe crear un archivo de texto con órdenes individuales para iniciar cada árbol de procesos y especificar la ruta a este archivo en el campo de texto Orden de inicio. Consulte Creación de tipos de recursos con varios árboles de proceso independientes, donde se enumeran algunas características especiales, necesarias para que el archivo funcione correctamente.
Orden de parada: la línea de órdenes completa que se puede pasar a cualquier shell de UNIX para detener la aplicación básica. Puede escribir la orden en el campo suministrado o utilizar el botón Examinar para localizar un archivo que contenga la orden para detener la aplicación. Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes, se puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
Esta orden es opcional. Si no se especifica una orden de parada, el código generado emplea señales (en el método Stop) para detener la aplicación, como se muestra a continuación.
El método Stop envía SIGTERM para detener la aplicación y espera el 80% del valor de tiempo de espera excedido para que la aplicación salga.
Si la señal SIGTERM no resulta satisfactoria, el método Stop envía SIGKILL para detener la aplicación y espera el 15% del tiempo de espera excedido para que la aplicación salga.
Si SIGKILL no es satisfactorio, el método Stop sale de forma no satisfactoria (el 5% restante del valor de tiempo de espera se considera una carga adicional indirecta).
Asegúrese de que la orden de parada no retorne antes de que la aplicación se haya detenido por completo.
Orden de sonda: una orden que se puede ejecutar periódicamente para comprobar el estado de la aplicación y devolver un estado de salida adecuado entre 0 (éxito) y 100 (fallo total). Esta orden es opcional. Puede escribir la ruta completa a la orden o utilizar el botón Examinar para localizar un archivo que contenga las órdenes para analizar la aplicación.
Generalmente, se especifica un cliente simple de la aplicación básica. Si no se especifica una orden de sonda, el código generado se limita a conectarse y desconectarse del puerto que utiliza el recurso y, si funciona, declara que la aplicación funciona correctamente. Las órdenes de sonda sólo se pueden utilizar con aplicaciones habilitadas para la red. Agent Builder siempre genera una orden de sonda, pero lo desactiva para las aplicaciones que no estén habilitadas para la red.
Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes de sonda, puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
Tiempo de espera: (para cada orden) un valor de tiempo de espera (en segundos) para cada orden. Se puede especificar un valor nuevo o aceptar el predeterminado de Agent Builder (300 segundos para inicio y parada y 30 para el análisis).
Para muchas aplicaciones, especialmente las habilitadas para red, el nombre del sistema en el que la aplicación recibe y sirve las solicitudes del cliente se debe pasar a la aplicación en la línea de órdenes. Por tanto, en muchos casos, el nombre del sistema es un parámetro que se debe especificar para iniciar, detener y analizar órdenes del tipo de recurso de destino (en la pantalla de configuración). Sin embargo, el nombre del sistema en el que la aplicación recibe es específica del clúster; se determina cuando el recurso se ejecuta en un clúster y no se puede determinar cuando Agent Builder genera el código del tipo de recurso.
Para solucionar este problema, Agent Builder proporciona la variable $hostnames que se puede especificar en la línea de órdenes de las órdenes de inicio, parada y análisis. La variable $hostnames se especifica de la misma forma como un nombre de sistema real, por ejemplo:
/opt/network_aware/echo_server -p port_no -l $hostnames |
Cuando un recurso del tipo de recurso de destino se ejecuta en un clúster, los nombres de sistema LogicalHostname o SharedAddress configurados para ese recurso (en la propiedad de recurso Network_resources_used) se reemplazan por el valor de la variable $hostnames.
Si configura la propiedad Network_resources_used con múltiples nombres de sistemas, la variable $hostnames los incluye todos, separados por comas.
Agent Builder puede crear tipos de recursos para aplicaciones con varios árboles de procesos considerados independientes ya que PMF los supervisa e inicia individualmente. PMF inicia cada árbol de procesos con su propia etiqueta.
Agent Builder permite crear tipos de recursos con varios árboles de procesos independientes sólo cuando el código fuente generado que se especifique sea C. No es posible utilizar Agent Builder para crear estos tipos de recursos para ksh ni GDS; en estos casos, se debe escribir el código manualmente.
En el caso de una aplicación básica con varios árboles de procesos independientes, no se puede especificar una única línea de órdenes para iniciar la aplicación. En su lugar, es necesario crear un archivo de texto, especificando en cada línea la ruta completa a una orden para iniciar cada uno de los árboles de procesos de la aplicación. Este archivo no debe contener líneas en blanco y se ha de especificar en el campo de texto de la orden de inicio, en la pantalla de configuración.
Al asegurarse de que este archivo no disponga de permisos de ejecución Agent Builder podrá distinguirlo y así será posible iniciar múltiples árboles de procesos desde una secuencia de ejecución simple que contenga varias órdenes. Si se dota al archivo de texto de permisos de ejecución, los recursos se ejecutarían sin problemas ni errores en un clúster, pero todas las órdenes se iniciarían bajo una única etiqueta de PMF, lo que impediría que éste pudiera supervisar y reiniciar individualmente los árboles de procesos.