Caminho no Gestor bibliotecas/atualizacoes-execucao.php
Base de POST /_api/system/update com action=run e run-status (req-201 / BATCH-209). É pura (sem Gestor). O que roda no servidor é o mesmo atualizador do CLI (atualizacoes-sistema.php), com trava, snapshot, dump, verificação e volta automática.
Uso
-
atualizacoes_execucao_argv($opcoes, $dominio)traduz as opções da API para os argumentos do atualizador. Só aceita as deATUALIZACOES_EXECUCAO_OPCOESe limpa os valores (tag, URL sem&/;/aspas, IP, tabelas, dias). O que não passa volta emrecusadas. Sempre acrescenta--log-stdout, para o log da execução ter as linhas de snapshot e verificação. -
atualizacoes_execucao_php_cli($preferido)acha o PHP de linha de comando. Dentro do PHP-FPM,PHP_BINARYé o próprio FPM. -
atualizacoes_execucao_disparar($base, $id, $argv, $meta, $php)dispara em segundo plano (nohupesetsid), com a saída em<id>.loge o código em<id>.exit, dentro detemp/atualizacoes/runs/. Usa pipes, não/dev/null, porque oopen_basedirdo HestiaCP impede abrir/dev/nullpelo PHP. Se falhar, grava o código 1 para a execução não ficar "rodando". -
atualizacoes_execucao_estado($log, $exit)lê o estado: sem código ainda,running; os códigos do atualizador viramsuccess,rolled_back(6),locked(8) eerror-*. Também extrai snapshot, verificação, volta automática, erros e o fim do log. -
atualizacoes_execucao_novo_id(),atualizacoes_execucao_id_valido()eatualizacoes_execucao_pasta()cuidam do idrun-<data>-<sufixo>e da pasta.
Funções
Gerado a partir de gestor/bibliotecas/atualizacoes-execucao.php · 7 funções
atualizacoes_execucao_id_valido
ver no código · linha 25 ↗atualizacoes_execucao_id_valido(string $id): boolId de execução válido (run-<data>-<sufixo>).
Parâmetros
$idstring
Retorno
atualizacoes_execucao_novo_id
ver no código · linha 30 ↗atualizacoes_execucao_novo_id(): stringNovo id de execução.
Retorno
atualizacoes_execucao_pasta
ver no código · linha 35 ↗atualizacoes_execucao_pasta(string $base): stringPasta das execuções (temp/atualizacoes/runs/).
Parâmetros
$basestring
Retorno
atualizacoes_execucao_argv
ver no código · linha 45 ↗atualizacoes_execucao_argv(array $opcoes, string $dominio): arrayArgumentos do atualizador a partir das opções da API. Só entram as opções da lista branca; valores são limpos (tag, URL, IP, tabelas, dias). Opção desconhecida ou valor inválido vai para recusadas.
Parâmetros
$opcoesarray$dominiostring
Retorno
atualizacoes_execucao_php_cli
ver no código · linha 76 ↗atualizacoes_execucao_php_cli(?string $preferido = null): stringPHP de linha de comando. Dentro do PHP-FPM, PHP_BINARY é o próprio FPM; procura, na ordem: $preferido (ex.: ATUALIZACOES_PHP_CLI), php<maior>.<menor> e php na pasta dos binários do PHP, e por fim php no PATH.
Parâmetros
$preferido?string
Retorno
atualizacoes_execucao_disparar
ver no código · linha 92 ↗atualizacoes_execucao_disparar(string $base, string $id, array $argv, array $meta, string $php): arrayDispara o atualizador em segundo plano, desligado da requisição (nohup + setsid quando existe). A saída vai para <id>.log e o código de saída para <id>.exit; <id>.json guarda o pedido.
Parâmetros
$basestring$idstring$argvarray$metaarray$phpstring
Retorno
atualizacoes_execucao_estado
ver no código · linha 127 ↗atualizacoes_execucao_estado(string $log, ?string $exit): arrayEstado de uma execução a partir do log e do código de saída (sem o código: ainda rodando).
Parâmetros
$logstring$exit?string
Retorno