scripts/fireflo é a linha de comando do operador. Fala com três coisas diferentes dependendo do
verbo, e saber com qual é boa parte de saber usar.
Banco e offline
info e validate não precisam da flag que habilita escrita. Ler a versão do schema não muda
nada, e precisar de uma flag antes de olhar seria uma armadilha no meio de um incidente.
bootstrap
default, uma tabela
MESSAGE vazia para um fornecedor entrar, um listener na 27777, e um login SMPP cuja senha ele gera
e imprime uma vez.
Não escreve mais nada de propósito. Nenhum fornecedor, porque um precisa de host e credenciais que
ninguém pode adivinhar; nenhuma tarifa, porque um preço inventado cobra em silêncio onde um preço
ausente aparece sem preço. As duas ausências são nomeadas na saída final.
bootstrap recusa no momento em que encontra uma tabela de roteamento, um worker ou um login, então
não sobrescreve uma implantação em produção. Não existe flag que force.import
all (padrão), rates, routing, credentials. Flags: --dry-run, --replace,
--replace-filters, --prune, --rates-file, --routing-file, --currency.
Rode o dry run e leia. Ele classifica todo escopo de tarifa como custo de fornecedor ou preço de
conta e nomeia os que não consegue classificar como nenhum dos dois. É assim que um escopo que
carrega e não casa com nada é detectado antes de acontecer.
Códigos de saída: 0 ok, 1 a migração falhou, 2 recusou sem tocar em nada. Assim um pipeline de
deploy consegue distinguir flag faltando de migração quebrada.
show
whitelist imprime os quatro portões na ordem em que se aplicam, depois o que está aprovado.
rejected é o que foi recusado nas últimas 24 horas, e por quê.
Enviando uma mensagem
FIREFLO_SEND_LOGIN e
FIREFLO_SEND_PASSWORD.
Operacional
version pergunta ao gateway em vez de olhar os arquivos em disco. Um artefato que foi construído
mas nunca foi reiniciado é toda a razão para perguntar.
verify checa na ordem que torna a primeira falha a informativa: o artefato está completo, o Java é
novo o suficiente, a porta de mensagens responde, a porta operacional bate com a configuração que
você escolheu, e os dois tokens são de fato separados. Termina dizendo se ele consegue enviar, que
não é a mesma pergunta de se está rodando.
Exit code 4 do
verify significa que a implantação está sólida, mas os dados desta instalação
não. Por exemplo, nada está configurado para rotear. 0 ok, 1 falhou, 2 recusou ou foi mal
usado.Crédito
Filas
Uso e retenção
Conexões
fireflo health. São o contador do próprio listener, então colidem entre
listeners e reiniciam com o gateway.
disconnect encerra uma conexão; não retira a permissão. Um cliente saudável faz rebind em
segundos a menos que você também desabilite o login dele.log.pdus para um worker inteiro, que escrevia todos os PDUs de todas as sessões num arquivo
de log compartilhado.
Os seis verbos de controle
Apagando dados de amostra
purge seed roda o down script pareado e nada mais. Não há busca por coisas que parecem dados de
teste, porque num banco de configuração é assim que se apaga um cliente.
--reset-database esvazia toda tabela, de volta para o estado logo depois de db migrate. Recusa a
menos que FIREFLO_DB_RESET=true, recusa enquanto o gateway está alcançável, e pede para você
digitar o nome do banco.