Operação
As unidades em uso: um nó por unidade com os painéis e dashboards pelos quais ela é operada, o que é uma execução, o ciclo de vida do Iniciar até Concluída, e o que é recusado enquanto parado.
Operação é o último dos quatro grupos de um modelo na coluna Espaço de trabalho da página Process (Process > Modelos > um modelo > Operação), depois da Definição, da Visualização e da Preparação. Os outros três declaram o processo; este guarda as unidades em uso, um nó por unidade, e sob cada unidade as superfícies pelas quais ela é operada. Nada é configurado aqui: uma unidade é declarada e encerrada na página do próprio modelo (Unidades), os painéis e dashboards dela são arranjados sob a Visualização, e o que ela executa é composto sob a Preparação.
O ramo é desenhado para todo papel que pode ver modelos (Ver modelos, Executar procedimentos, Gerenciar o Process). Um papel que tem apenas Editar receitas e avaliações vê cada modelo reduzido ao grupo de Preparação dele, então a Operação não é desenhada para ele. Acompanhar vem de graça com a árvore; preparar, iniciar e conduzir uma execução exigem Executar procedimentos, e um painel diz isso na cara dele quando o papel não a tem.
A página Operação
Selecionar o grupo abre uma parede de cartões, um por unidade, encabeçada por "As estações em que este modelo roda. Abra uma para preparar um procedimento, iniciá-lo e acompanhar uma execução gravada e avaliada." Clicar num cartão abre aquela unidade. Cada cartão carrega a situação ao vivo da unidade, resolvida nesta ordem de precedência:
| Situação | Significado |
|---|---|
| Parada disparada, Aguardando rearme, Sinal de parada indisponível | O intertravamento da unidade não está em Sem disparo. Mostrado apenas quando o modelo observa uma parada externa; ele passa na frente de tudo o que vem abaixo. |
| Gravando, Pausada, Salvando, Preparando, Finalizando | Uma execução detém a unidade: ela está amostrando, pausada num setpoint, escrevendo o snapshot dela, reservada antes de a execução existir, ou fechando o arquivo dela depois do estado terminal. |
| Ociosa · procedimento | Nada detém a unidade, e aquele procedimento está preparado para o próximo Iniciar. |
| Ociosa · nenhum procedimento preparado | Nada detém a unidade e nada está preparado. |
Um modelo sem unidades diz "Nenhuma unidade ainda. Adicione uma na página do próprio modelo, na tabela Unidades." A linha do grupo na árvore conta as unidades dele.
A barra de detalhe carrega os dois disparadores em lote, desenhados apenas para um papel com Executar procedimentos. Nada mais fica nesta barra, porque nada é criado nem excluído aqui.
| Comando | O que faz | Fica cinza quando (situação) | Não é desenhado quando (papel) |
|---|---|---|---|
| Iniciar tudo | Inicia toda unidade que tem um procedimento preparado e que pode executar agora; as demais são puladas em silêncio. Toda execução iniciada grava como responsável o operador autenticado nesta tela. | Nenhuma unidade aceita Iniciar agora, ou um lote já está despachando. | Sem Executar procedimentos. |
| Parar tudo | Para toda unidade que está executando agora; as unidades já paradas continuam paradas. | Nenhuma unidade aceita Parar agora, ou um lote já está despachando. | Sem Executar procedimentos. |
Um lote é um disparador, não uma operação coordenada: cada unidade roda por conta própria, uma recusa numa unidade vai para o diário e nunca desfaz outra, e o feed de ações informa a contagem ("3 unidades iniciadas", "Nenhuma unidade pôde ser parada.").
A unidade
A página da própria unidade a nomeia, diz se uma execução a detém e abre para cada uma das superfícies dela. O cabeçalho carrega a mesma pílula que os cartões carregam (Gravando, Pausada, Salvando, Preparando, Finalizando; nada enquanto a unidade está livre), e um cartão, Superfícies, lista como blocos os painéis e os dashboards que o modelo define, desenhados para esta unidade. A página não tem verbos de barra nem menu de clique direito: ela é um caminho de entrada, não um lugar para editar.
Sob a unidade, a árvore guarda um nó por painel do modelo e depois um nó por dashboard. Os dois abrem sob a mesma barra de palco que a página View usa, chamada "Modelo · Unidade · Superfície", com a pílula de estado da execução ao lado do nome e os dois verbos de janela no lado final: Expandir entrega a janela inteira à superfície, Tela cheia (F11) toma a tela inteira, e Esc sai de qualquer um dos dois.
- Um nó de painel desenha os cartões que o painel arranja, para esta unidade: o cartão Execução, o cartão Metadados, o Estado da execução, os Comentários, as Ocorrências, o gráfico de Canais, o livro de Produtividade, os Comandos únicos e qualquer dashboard que o painel embuta como cartão. Essa superfície, cartão a cartão, é Execuções e comentários.
- Um nó de dashboard roda a definição única do modelo com todo canal abstrato respondido pela origem vinculada desta unidade. Ele mostra o dashboard e nunca o edita: editar é um verbo da linha do próprio modelo, sob a Visualização (Dashboards de um modelo). Um dashboard sem nada colocado nele diz isso, em vez de desenhar um palco vazio. Os componentes de comando dele precisam apenas de Executar procedimentos aqui, porque esta é a superfície oficial do Process e não um dashboard da própria estação.
Um painel ou dashboard marcado com Mostrar em View também aparece na página View, uma entrada por unidade do modelo, sob o mesmo nome; o que ele desenha é o mesmo dos dois jeitos.
O que é uma execução
Uma execução é uma execução de um procedimento numa unidade. Ela se chama "Procedimento · Unidade",
é gravada no próprio arquivo SQLite dela, sob a pasta acquisitions da raiz de dados da aplicação, e
é apontada por uma linha do índice de históricos, que é o que permite encontrar e retomar uma
execução inacabada depois de um reinício. O modo do procedimento é o envelope da execução:
Instantâneo aplica, grava uma linha e julga uma vez, e termina sozinho; Temporizado roda a
janela do procedimento, repetida em ciclos se você quiser, e termina quando a última janela fecha;
Controlado aplica no Iniciar e grava até alguém parar.
Uma execução por unidade de cada vez. O Iniciar reserva a unidade antes de resolver qualquer coisa, então uma unidade preparando fica Ocupada sem fingir que grava; a reserva dura por Em execução, Pausada, Salvando e o fechamento final do arquivo. Enquanto qualquer unidade está ocupada, toda superfície de configuração da estação fica somente para leitura ("A configuração está travada enquanto uma Unidade está em execução."); a própria Operação continua viva, porque operar não é configurar.
O ciclo de vida
| Estado | Significado | Entra por | Sai por |
|---|---|---|---|
| Preparando | A unidade está reservada e a execução está sendo validada e materializada. Não é um estado guardado: o ponto Procedure.Status o lê enquanto Busy já é verdadeiro. |
Iniciar | A execução se materializar (Em execução), ou uma recusa (ociosa de novo). |
| Em execução | A amostragem e, numa execução Temporizada, o relógio da janela estão andando. | Iniciar, Retomar | Pausar, Parar, Abortar, a janela terminar, uma falha, o intertravamento. |
| Pausada | O relógio da janela está congelado no último setpoint; o datalog continua gravando. Só em execuções Temporizadas. | Pausar | Retomar, Abortar, o intertravamento. Parar não se aplica a uma execução pausada. |
| Salvando | A amostragem parou; o bloco de finalização rodou e o snapshot congelado está sendo escrito. | Parar, Abortar, a janela terminar, o intertravamento, uma execução Instantânea concluindo | O snapshot ser escrito. |
| Concluída | Terminou limpa; o veredito é o da avaliação. | Salvando depois de um Parar, de uma janela terminar ou de uma execução Instantânea | Terminal. |
| Abortada | Terminou cedo; o veredito é NOK, seja lá o que a avaliação tenha julgado. | Salvando depois de um Abortar, de uma política de falha de receita definida como Abortar, do intertravamento, ou do runtime parando | Terminal. |
| Com falha | Terminou por um erro irrecuperável; o veredito é Nenhum. | Uma falha enquanto executava ou terminava; um ponteiro de Salvando deixado por uma queda volta Com falha na inicialização seguinte | Terminal. |
Uma execução que estava Em execução ou Pausada quando a aplicação fechou não está encerrada: ela é retomada na inicialização seguinte, com um perfil temporizado pausado no segmento e no ciclo persistidos dele.
Toda execução grava quem a iniciou (o operador autenticado na tela que acionou o Iniciar, a estação quando não havia ninguém, a automação da unidade, ou um agente) e quem a encerrou (os mesmos tipos, num Parar ou num Abortar). Uma janela que se esgotou, um disparo de intertravamento e uma falha terminam sem ninguém nomeado. Pausar e Retomar não deixam ator para trás.
O que é recusado, e por quê
- Runtime parado: enquanto o runtime da estação está parado, Iniciar, Pausar, Retomar, Parar, Abortar, os comandos únicos, a preparação e os comentários são todos recusados com esse motivo, e o cartão Execução o escreve sob os botões dele. As execuções ainda abertas quando o runtime para terminam como Abortadas.
- O intertravamento: enquanto o intertravamento de uma unidade está Disparado, Aguardando rearme ou Indisponível, nenhum Iniciar, Retomar, amostra, avaliação ou aplicação de receita nova é admitido naquela unidade ("A Unidade 'X' está bloqueada pelo intertravamento dela: motivo"). Parar e Abortar continuam disponíveis.
- Nada preparado: o Iniciar precisa de um procedimento preparado ("Nenhum procedimento está preparado. Escolha um primeiro.").
- Uma origem detida por outra execução: duas unidades que escrevem a mesma origem não podem executar juntas; o segundo Iniciar é recusado pelo canal e pela unidade que a detém.
As páginas deste grupo:
| Página | Assunto |
|---|---|
| Execuções e comentários | O painel de uma unidade: a preparação, o Iniciar e o que ele valida, os comandos de ciclo de vida, os cartões ao vivo, os comentários, os comandos únicos, o arquivo da execução, e os caminhos da automação e do agente até o mesmo ciclo de vida. |
| O espaço de endereços da unidade | Todo ponto que uma unidade publica sob Process.<Model>.<Unit>, o tipo e o significado dele, e quais pontos são comandos graváveis. |