Fluxo: alertar manutenção na data prevista

O cron localiza manutenções previstas para hoje, monta a mensagem, tenta o envio e atualiza o registro quando o envio é aceito.

Entrada: cron/alerta_manutencao.php Tabelas: manutencoes_protese, clientes e proteses Ator: Scheduler do servidor, sem interação direta do usuário final.

Cadeia de chamada

agendamento do servidor -> cron/alerta_manutencao.php
cron -> SELECT manutencoes_protese + clientes + proteses
cron -> include ../ajax/api-texto.php ou cron/texto.php
cron -> UPDATE após o envio ser aceito
Esta seção responde à pergunta central de manutenção: qual arquivo chama qual arquivo dentro deste fluxo.

Arquivos envolvidos

ArquivoPapel dentro do fluxo
cron/alerta_manutencao.phpScript principal de varredura e disparo.
ajax/api-texto.phpPrimeira opção de envio quando o arquivo existe.
cron/texto.phpAlternativa de envio quando o arquivo principal não existe.
cron/timezone_cron.phpCarregado somente quando existe.
sistema/conexao.phpFonte de conexão e variáveis globais do sistema.

Passo a passo

EtapaO que acontece
1. Disparo externoO servidor chama `cron/alerta_manutencao.php` via agendador do sistema operacional.
2. Boot do scriptO cron carrega `cron/timezone_cron.php` quando existe e depois carrega `sistema/conexao.php`.
3. Consulta principalO script busca manutenções com `proxima_manutencao = hoje` e cujo alerta ainda não foi enviado.
4. Montagem da mensagemPara cada registro, o cron monta um texto com nome do cliente, prótese e link para agendamento.
5. Delegação do envioO envio usa `../ajax/api-texto.php` quando existe; caso contrário, usa `cron/texto.php`.
6. Marcação de estadoO cron atualiza `alerta_manutencao_enviado = 1` e `data_alerta_manutencao = NOW()` somente quando o envio é considerado aceito.
7. Resposta operacionalAo final, o script imprime total de alertas enviados e ignorados para facilitar diagnóstico manual.

Entradas

EntradaOrigem/uso
Data atual`bb_cron_data_hoje()` quando disponível; caso contrário, `date('Y-m-d')`
rota_agendamentoConfigurada no próprio cron
telefone do clienteLido da tabela `clientes`

Saídas

SaídaDestino
Mensagem externaEnviada via `api-texto.php` ou `cron/texto.php`
BancoMarcação de alerta enviado
Texto consoleResumo do processamento

Pontos críticos de manutenção

  • O cron exige que exista `ajax/api-texto.php` ou `cron/texto.php`; sem os dois arquivos, a execução é interrompida.
  • A marcação do banco ocorre no mesmo cron e depende do resultado considerado pelo fluxo de envio.
  • O link de agendamento é composto a partir de variáveis de ambiente e rota fixa; configuração incorreta gera link quebrado na mensagem.

Abrir a camada linha por linha

Use estes links quando já souber qual arquivo do fluxo precisa ser alterado e quiser leitura minuciosa do código.