Gatilhos

O editor de gatilho: identidade e localização, o cartão Agenda com Tipo, Intervalo e Ação, o trilho Agendamento, o agendador de 100 ms com o atraso fixo e os disparos pulados, os comandos, e o que um gatilho não pode fazer.

Ver como Markdown

Um gatilho liga uma causa a uma ação. O único tipo de causa hoje é o Intervalo: o agendador dispara a ação ligada num período fixo. Selecione um gatilho sob a seção Gatilhos da coluna da Logic (ou crie um com Novo… > Novo gatilho) para abrir o editor dele; ler exige Ver a lógica, editar exige Configurar a lógica. Não existe verbo de operação num gatilho: ele dispara sozinho, e uma execução manual é o Executar da própria ação.

O cabeçalho mostra a marca de gatilho, o nome, a frase "Uma agenda que executa uma ação sozinha, no intervalo que você definir." e uma pílula Desabilitado enquanto ele está desligado. A coluna do formulário contém IDENTIDADE e AGENDA; o trilho contém AGENDAMENTO.

Identidade

Campo O que é Valores / padrão Efeito
Nome O nome de exibição; as execuções que o gatilho dispara são registradas no diário sob ele. Texto livre; um gatilho novo é TriggerN; um nome em branco salva como Trigger. Salva sozinho a cada tecla. Gatilhos são referenciados por identidade; renomear não afeta mais nada.
Linha de localização Onde o gatilho está arquivado: Triggers / <folder> / <name>. Somente leitura. Um gatilho não tem endereço. Mude a pasta com o Mover para da árvore.
Descrição (opcional) Texto livre. Vazia. Nenhum.

Agenda

Campo O que é Valores / padrão Efeito
Tipo A causa. Intervalo, o único tipo. Nenhum hoje.
Intervalo (ms) O período de disparo. Um inteiro de no mínimo 100 (a resolução de varredura do agendador); 1000 por padrão. Uma entrada menor, negativa ou não interpretável mantém o intervalo guardado e mostra "O intervalo precisa ser um inteiro de no mínimo 100 ms (a resolução do agendador)." Um intervalo alterado zera o relógio: o próximo disparo vence um intervalo novo inteiro depois da próxima varredura.
Ação A ação que o gatilho dispara. (nenhuma) ou qualquer ação da estação; (nenhuma) por padrão. Um gatilho sem ação fica ocioso e diz "Ligue uma ação. O gatilho fica ocioso até lá."; um cuja ação foi excluída diz "A ação ligada não existe mais. Escolha outra."; um cuja ação está desabilitada diz "A ação ligada 'X' está desabilitada, então o gatilho fica ocioso."

Todo campo salva sozinho; a mensagem de validação é reavaliada a cada meio segundo abaixo do cartão.

Agendamento

O agendador varre a cada 100 ms e dispara na fila da lógica o que estiver vencido:

  • Um gatilho recém-criado, habilitado ou editado no intervalo, no tipo ou na ação é semeado na varredura seguinte: o primeiro disparo dele vence um intervalo depois disso.
  • Depois de um disparo, o próximo vence um intervalo inteiro a partir de agora (atraso fixo): nunca há uma rajada de recuperação depois de um trecho ocupado.
  • Um disparo que vence enquanto a execução anterior daquele gatilho ainda está na fila ou executando é pulado, não enfileirado; o pulo é contado e o disparo seguinte é reagendado. Nenhuma pilha se acumula atrás de uma ação lenta.
  • Um gatilho cuja ação está ausente ou desabilitada fica ocioso: ele é reagendado sem disparar, e ficar ocioso nunca conta como pulo.
  • A execução é registrada no diário sob o nome do gatilho, e o resultado dela cai no trilho ÚLTIMA EXECUÇÃO da ação. Um gatilho desabilitado nunca dispara.

O trilho AGENDAMENTO mostra os diagnósticos ao vivo: Último disparo, Próximo vencimento (um traço até o agendador ter semeado o relógio), Disparos pulados (uma contagem mantida em memória, de volta a 0 depois de um reinício) e a nota "Um disparo que chega enquanto a execução anterior ainda está pendente é pulado, não enfileirado (sem pilha). Só uma execução que falha chega ao console de Eventos, sob o nome deste gatilho."

O painel da raiz Gatilhos lista todo gatilho com o estado dele na coluna Valor: "A cada 1000 ms · último <quando> · pulos N", ou "Desabilitado".

Comandos

Comando O que faz Esmaecido quando Não aparece quando
Habilitar / Desabilitar Vira o Habilitado; habilitar semeia o relógio de novo. A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.
Copiar Duplica o gatilho (mesma ação, mesmo intervalo) na raiz Gatilhos, com um nome livre, e o abre; a cópia começa sem agenda. A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.
Excluir gatilho Pergunta "Excluir 'X'? Isso remove o gatilho. Isso não pode ser desfeito." A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.

Excluir a ação ligada deixa o gatilho sem ligação, em vez de excluí-lo junto com a ação.

O que os gatilhos não fazem

Não existe outro tipo de causa: nada dispara por mudança de valor, por condição, por hora do dia ou na inicialização. Um gatilho dispara uma ação, nunca várias, e nunca dispara à mão: execute a própria ação. O agendador para junto com o runtime, e um disparo recusado como "Runtime parado" enquanto a estação fecha é descartado em silêncio.