[z/OS]

Rechazo automático de solicitudes de trabajo cuando no hay disponible ningún sirviente para procesar estas solicitudes

Si un controlador determina que un sirviente ha terminado, normalmente el controlador borra todas las solicitudes de trabajo que se han asignado a dicho sirviente. Si ese sirviente es el último sirviente, las nuevas solicitudes de trabajo se colocan en la cola de solicitudes hasta que esté disponible un sirviente. En función del tiempo que tarde un sirviente en pasar a estar disponible, estas solicitudes podrían terminar porque caduque el tiempo asignado para procesar una solicitud. Para evitar que esto suceda, puede modificar los valores de la configuración para un servidor de aplicaciones para impedir que el controlador acepte nuevas solicitudes.

Acerca de esta tarea

Los controladores reciben solicitudes de aplicación de forma continuada y las asignan a un sirviente para su proceso. Cuando se produce un problema en el nivel del sistema, como un error de base de datos, el proceso de solicitudes se detiene y las solicitudes se acumulan en las colas entre el controlador y los sirvientes. Durante el periodo de tiempo que tarda el sirviente en pasar a estar disponible, las solicitudes siguen acumulándose en las colas hasta que éstas excedan el tiempo de espera. Cuando se produce un tiempo de espera excedido, la solicitud que ha excedido el tiempo de espera se elimina de la cola.

Si un sirviente nuevo está preparado para empezar a aceptar solicitudes y si la próxima solicitud de la cola se cierra debido a un tiempo de espera excedido, no se podría completar el proceso de asignación para dicha solicitud y el sirviente volvería a terminar debido a este tiempo de espera excedido del proceso. De nuevo, las solicitudes se acumulan en la cola hasta que otro nuevo sirviente esté preparado y, posiblemente, surja el mismo problema de tiempo de espera excedido. Si este problema es recurrente, a veces se hace referencia al mismo como un problema de un sirviente que rebota. Puede sortear este problema mediante uno de los modos siguientes:

  • Puede configurar el servidor para que detecte automáticamente una situación no de servidor y deje de aceptar solicitudes hasta que haya un número mínimo configurado de sirvientes preparados para aceptar el trabajo. Éste es el método más sencillo.
  • Puede crear una rutina de automatización para manejar el problema si es capaz de detectar que tiene un problema de sistema antes de que los sirvientes terminen debido a tiempos de espera excedidos. Esta rutina de automatización puede emitir el mandato f server, pauselisteners para impedir que este servidor acepte solicitudes. La rutina debe detectar si las circunstancias han cambiado y emitir el mandato f server, resumelisteners cuando se resuelva el problema de sistema detectado.
  • Puede configurar el servidor para que detecte una condición no de servidor, deje de aceptar solicitudes y cree la rutina de automatización mencionada anteriormente. La rutina de automatización debe reconocer el proceso diferente que se produce porque el servidor se ha configurado para detectar una condición no de servidor:
    • Si el último sirviente termina, aunque se haya emitido el mandato f server, pauselisteners, el servidor empieza a rechazar todas las solicitudes y emitir el mensaje BBOO0299I. El servidor empieza a aceptar automáticamente solicitudes cuando haya el número mínimo de sirvientes, para los cuales esté configurado el servidor, preparados para aceptar el trabajo. También emite el mensaje BBOO0300I para indicar que las solicitudes se vuelven a procesar. Por lo tanto, la rutina de automatización debe tener en cuenta el hecho de que, probablemente, el servidor ha vuelto a aceptar solicitudes después de detectar que hay la cantidad mínima de sirvientes disponibles.
    • Si se especifica la propiedad personalizada control_region_confirm_recovery_on_no_srs para el servidor, el servidor envía el mensaje WTOR BBOO0297A tras detectar que existe el número mínimo de sirvientes, para los cuales se ha configurado el servidor, preparados para procesar nuevas solicitudes. Debe escribir una respuesta para este mensaje antes de que el servidor empiece realmente a aceptar trabajo.
    • Si la rutina de automatización impide al servidor terminar los sirvientes debido a un tiempo de espera excedido del proceso, también debe reconocer cuando es seguro para el servidor reanudar la obtención de solicitudes y emitir el mandato f server, resumelisteners en ese preciso momento. La rutina de automatización se puede configurar para determinar si se necesita o no emitir el mandato f server, resumelisteners, en función de si se ha emitido o no el mensaje BBOO0299I. Este mensaje indica que el servidor se ha quedado sin sirvientes y está rechazando solicitudes. Este método es el más complejo, pero proporciona la mayor flexibilidad.

Efectúe los pasos siguientes si desea configurar el servidor para que maneje condiciones no de servidor.

Procedimiento

  1. En la consola administrativa, pulse Servidores > Tipos de servidor > Servidores de aplicaciones de WebSphere y seleccione el servidor de aplicaciones para el que desea detectar automáticamente condiciones no de sirviente.
  2. En Propiedades adicionales, pulse Propiedades personalizadas > Nueva.
  3. Especifique control_region_dreg_on_no_srs en el campo Nombre y 1 en el campo Valor. Si esta propiedad personalizada se ha establecido en 1, el servidor rechaza todas las solicitudes destinadas para asignar, si detecta que no hay sirvientes preparados para procesar las solicitudes. Si es establece esta propiedad en 0 (cero), se desactiva esta función.
  4. Especifique control_region_confirm_recovery_on_no_srs en el campo Nombre y 0 (cero) o 1 en el campo Valor. Si escribe 0 en el campo Valor, el controlador reanuda la obtención de solicitudes, en cuanto el número mínimo de sirvientes está preparado para recibir solicitudes. Si escribe 1 en el campo Valor, el controlador emite el mensaje WTOR BBOO0297A, tan pronto como detecta que existe el número mínimo de sirvientes, para los cuales se haya configurado el servidor, preparados para aceptar el trabajo. El servidor espera hasta que recibe una respuesta a este mensaje, antes de reanudar realmente la obtención de solicitudes.
  5. Pulse Revisar, seleccione Sincronizar cambios con nodos y, a continuación, pulse Guardar para actualizar el repositorio maestro con los cambios.

Resultados

Cuando un controlador determina que un sirviente ha terminado y dicho sirviente es el último sirviente, el controlador no aceptará las nuevas solicitudes de trabajo hasta que el número mínimo de sirvientes esté disponible para recibir solicitudes.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_auto_noservant
File name: trun_auto_noservant.html