Novos comandos de administração do servidor

Tradução automática de Deepl

4D continua a fornecer funcionalidades para o ajudar a criar as suas próprias aplicações para monitorizar os seus servidores. Desde a recuperação programática de informação sobre sessões, processos, e o servidor de aplicações, até à obtenção de informação sobre o servidor web.

Tendo já lhe fornecido comandos para ler sobre estados, 4D v17 R4 dá-lhe agora a possibilidade de alterar os estados. Pode agora criar as suas próprias interfaces de administração como diálogos no servidor, cliente, ou mesmo como páginas HTML para acesso à web. A decisão é sua. Estes comandos permitem-lhe executar as mesmas acções que a interface de administração padrão 4D. Por exemplo, pode enviar uma mensagem aos seus utilizadores para os notificar da manutenção agendada, ou bloquear novas ligações ao servidor de aplicação enquanto executa uma operação no mesmo.

Comandos do utilizador

Pode enviar uma mensagem do servidor para um utilizador remoto com o SEND MESSAGE TO REMOTE USER comando. Para recuperar uma lista de sessões de utilizadores, pode usar o comando Get process activity comando.

Por exemplo, o administrador do servidor quer enviar uma mensagem a todos os utilizadores ligados.

C_TEXT($message)
$message :="Uma operação de manutenção está agendada e o servidor será reiniciado. Por favor, terminar a sessão antes das 22h"
SEND MESSAGE TO REMOTE USER ($message)

Ou enviar uma mensagem apenas a John.

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 :="Hello John".
For each ($element;$userCol)
SEND MESSAGE TO REMOTE USER ($message;$element.ID)
End for each

Também pode terminar uma sessão do utilizador com o 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 processo

Com o novo comando ABORT PROCESS BY ID pode parar um processo específico usando o seu ID de processo único. Para recuperar o ID de processo único, pode usar o comando Get process activity ou Process properties ordens.

Por exemplo, uma operação foi iniciada na base de dados mas parece não ter fim e está a perturbar o desempenho do servidor. O administrador pode recuperar o número do processo e assim abortar o processo.

// 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)

Ligações de clientes

O administrador do servidor pode bloquear novas ligações remotas com os comandos REJECT NEW REMOTE CONNECTION comando. Para saber se as ligações foram aceites ou recusadas, utilizar o comando Get application info comando.

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

PEDIDO DE SAÚDE

Para bloquear pedidos SOAP, pode utilizar o comando SOAP REJECT NEW REQUESTS comando. Para saber se os pedidos foram aceites ou recusados, utilizar o comando WEB Get server info comando.

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

Renovar licença

A sua equipa cresceu, pelo que adquiriu novas ligações de clientes para o seu servidor. Os administradores do servidor já não são obrigados a aceder fisicamente à máquina do servidor para actualizar uma licença. O Refresh license comando está agora disponível. Chama a mesma acção como se o administrador tivesse clicado no botão na caixa de diálogo da licença do Servidor 4D. Para o caso de não ter clicado nesta funcionalidade, instala automaticamente as licenças adquiridas para clientes, 4D Write Pro, ou 4D View Pro. Leia mais sobre esta funcionalidade.

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

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.