El sistema de cola de tareas en cPanel & WHM

Para la versión 11.38 de WHM

Eventos en cPanel & WHM a menudo causan el reinicio de uno o más servicios. Por ejemplo, el añadir un subdominio causará un reinicio de Apache y del daemon del servidor de nombre (nameserver).

En los servidores que están ocupados, estas solicitudes de reinicio pueden causarle daño a la calidad de servicio.

Para manejar estas solicitudes, cPanel & WHM incluye un sistema para procesar y poner en cola las tareas. Los subsistemas que reconocen la cola de tareas mandan sus solicitudes a la cola, en vez de directamente pedir el reinicio (u otras solicitudes).

Una ventaja del sistema de cola de tareas es que varias instancias de una solicitud pendiente se manejan como una sola acción. Esto mejora el tiempo de reacción del servidor.

Funciones que reconocen la cola de tareas

El sistema pone en cola los pedidos hechos por las siguientes funciones dentro de cPanel & WHM:

  • Las funciones relacionadas con Apache (en Tweak Settings (de WHM))
  • Create a New Account (en WHM)
  • Modify Account Properties (en WHM)
  • Terminate an Account (en WHM)
  • Upgrade/Downgrade an Account (en WHM)
  • Change Site's IP Address (en WHM)
  • Copiar una cuenta desde otro servidor (bajo Transfers de WHM)
  • Añadir o borrar un dominio adicional (bajo Dominios adicionales en cPanel)
  • Crear o eliminar un subdominio (bajo Subdominios en cPanel)
  • Crear o borrar un dominio aparcado (bajo Dominios aparcados en cPanel)

Cómo funciona el poner en cola las tareas

Hay dos aspectos del sistema para poner en cola las tareas:

  1. el mecanismo de poner en cola las tareas
  2. el procesador de la cola

El mecanismo de poner en cola las tareas

Se maneja poner en cola las tareas mediante el script /usr/local/cpanel/bin/servers_queue que se usa como sigue:

/usr/local/cpanel/bin/servers_queue [queue $command] [unqueue $task_id]

queue $command

El parámetro queue requiere una cadena de comandos como un argumento. La cadena de comandos debe ser citada. Por ejemplo:

root@example [~]# /usr/local/cpanel/bin/servers_queue queue 'apache_restart' 
Id: TQ:TaskQueue:4

Sólo se aceptan los comandos reconocidos por el sistema de poner en cola las tareas. Si usted provee un comando desconocido, el sistema le devolverá un error. Por ejemplo:

root@example [~]# /usr/local/cpanel/bin/servers_queue queue 'buildapacheconf' 
ERROR: No known processor for 'buildapacheconf'. at /usr/local/lib/perl5/site_perl/5.8.8/

unqueue $task_id

El parámetro unqueue requiere un número de identificación para la tarea. Este número sale cuando se pone en cola una tarea. También lo puede encontrar al examinar el archivo /var/cpanel/taskqueue/servers_queue.yaml.

Por ejemplo:

root@pxe [~]# /usr/local/cpanel/bin/servers_queue queue 'apache_restart' 
Id: TQ:TaskQueue:8 
root@pxe [~]# /usr/local/cpanel/bin/servers_queue unqueue TQ:TaskQueue:8 
1 tasks unqueued

El procesador de cola

Tareas puestas en cola se almacenan en los archivos YAML bajo /var/cpanel/taskqueue

El daemon queueprocd procesa las tareas puestas en cola. Este daemon reside bajo /usr/local/cpanel/libexec y se pide por el proceso de inicio de cPanel. Puede administrarlo al usar /scripts/restartsrv_queueprocd Se monitoriza este daemon por chkservd

Topic revision: r15 - 28 Jun 2013 - 22:26:48 - Main.RosieArcelay
AllDocumentation/Es/WHMDocsEs.TaskQueueEs moved from AllDocumentation/Es/GuiaUsuarioWHM.TaskQueueEs on 29 Sep 2011 - 23:03 by Main.RosieArcelay - put it back