Nuevos comandos de administración del servidor

Traducido automáticamente de Deepl

4D sigue ofreciendo funcionalidades para ayudarle a crear sus propias aplicaciones para monitorizar sus servidores. Desde recuperar programáticamente información sobre sesiones, procesos y el servidor de aplicaciones, hasta obtener información sobre el servidor web.

Habiéndole proporcionado ya comandos para leer los estados, 4D v17 R4 le da ahora la capacidad de cambiar los estados. Ahora puede crear sus propias interfaces de administración como diálogos en el servidor, el cliente, o incluso como páginas HTML para el acceso a la web. Depende de usted. Estos comandos le permiten realizar las mismas acciones que la interfaz de administración estándar de 4D. Por ejemplo, puede enviar un mensaje a sus usuarios para notificarles un mantenimiento programado, o bloquear nuevas conexiones al servidor de aplicaciones mientras realiza una operación en él.

Comandos de usuario

Puede enviar un mensaje desde el servidor a un usuario remoto con el SEND MESSAGE TO REMOTE USER comando. Para recuperar una lista de sesiones de usuario, puede utilizar el comando Get process activity para obtener una lista de sesiones de usuario.

Por ejemplo, el administrador del servidor quiere enviar un mensaje a todos los usuarios conectados.

C_TEXT($message)
$message :="Se ha programado una operación de mantenimiento y el servidor se reiniciará. Por favor, cierre la sesión antes de las 10 de la noche."
SEND MESSAGE TO REMOTE USER ($message)

O enviar un mensaje sólo a Juan.

C_TEXT($message)
C_COLLECTION ($userCol)
C_OBJECT ($element)

// Retrieve the list of sessions with the userName: "John"
$userCol :=Get process activity(Sessions only).sessions.query("userName = :1"; "John")

$message :="Hola John."
For each ($element;$userCol)
SEND MESSAGE TO REMOTE USER ($message;$element.ID)
End for each

También puede finalizar una sesión de usuario con el comando DROP REMOTE USER comando.

C_COLLECTION($userCol)
C_OBJECT ($element)

// Retrieve the list of sessions
$userCol :=Get process activity(Sessions only).sessions.query("userName = :1"; "John")

For each ($element;$userCol)
DROP REMOTE USER ($element.ID)
End for each

Comandos de proceso

Con el nuevo comando ABORT PROCESS BY ID puede detener un proceso específico utilizando su ID de proceso único. Para recuperar el ID de proceso único, puede utilizar el comando Get process activity o Process properties para recuperar el ID de proceso único.

Por ejemplo, se ha iniciado una operación en la base de datos, pero parece no tener fin y está perturbando el rendimiento del servidor. El administrador puede recuperar el número de proceso y así abortarlo.

// Retrieve the list of processes on the server and display it in a list box
$activity:=Get process activity(Processes only).processes

// The process selected by the administrator is aborted
ABORT PROCESS BY ID($activity.processes[selectedItem].ID)

Conexiones de clientes

El administrador del servidor puede bloquear nuevas conexiones remotas con el comando REJECT NEW REMOTE CONNECTION para bloquear nuevas conexiones remotas. Para saber si las conexiones han sido aceptadas o rechazadas, utilice el comando Get application info para saber si las conexiones han sido aceptadas o rechazadas.

// Reject the new connections
REJECT NEW REMOTE CONNECTIONS(True)
// Execute the maintenance operation
...
// Accept the new connections

REJECT NEW REMOTE CONNECTIONS (False
)

PETICIONES SOAP

Para bloquear las peticiones SOAP, puede utilizar el comando SOAP REJECT NEW REQUESTS comando. Para saber si las peticiones han sido aceptadas o rechazadas, utilice el comando WEB Get server info comando.

If (WEB Get server info.SOAPServerStarted)
SOAP REJECT NEW REQUESTS (True)
End if

Actualizar licencia

Su equipo ha crecido, por lo que ha adquirido nuevas conexiones de cliente para su servidor. Los administradores del servidor ya no tienen que acceder físicamente a la máquina del servidor para actualizar una licencia. El comando Refresh license está ahora disponible. Llama a la misma acción que si el administrador hubiera pulsado el botón en el diálogo de licencia de 4D Server. En caso de que se haya perdido esta característica, instala automáticamente las licencias compradas para los clientes, 4D Write Pro, o 4D View Pro. Lea más sobre esta funcionalidad.

C_OBJECT($res)
$res :=Refresh license
If ($res.success)
ALERT ("Success")
Else
ALERT ($res.message)
End if

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.