Qual é a infraestrutura que suporta o Assistente Echo?
O Assistente Echo baseia-se no Bot, um serviço construído sobre a plataforma Hurakan. Este serviço é visível na consola de serviços do Windows com o nome Primavera Bot e está permanentemente em execução, sendo responsável pela realização de tarefas com diferentes importâncias e impactos no sistema. O conceito subjacente à plataforma Hurakan é que esta executa pipelines, ou seja, a execução de uma sequência de handlers. Handlers Um handler é uma classe que herda de Primavera.Hurakan.BotHandlers.TopicHandlerBase. Um handler permite efetuar um override aos métodos SetContext, onde pode receber informação antes de executar uma tarefa, e ProcessMessage - método responsável pela execução dessa tarefa. Pipelines Uma pipeline define as operações a serem executadas (handlers) e a sua sequência. Task Uma task é a estrutura que agrega uma pipeline com outras informações importantes relativas ao agendamento, resiliência e importância, entre outras. Para conhecer a definição de todas as propriedades de uma task recomenda-se a leitura do ficheiro TemplateTopicBaseSQL.sql, disponível aqui. O estado (State) é uma das mais importantes propriedades das tasks. De seguida, são apresentados os estados possíveis e os respetivos significados: Topic Um topic é um conjunto de tasks. As tabelas utiizadas pelo Bot podem ser encontradas na base de dados PRIEMPRE da instância default do ERP, mesmo em ambientes multi-instância: Todas as tasks e as respetivas configurações estão disponíveis no ERP através do Monitor de Operações do Echo. A instalação do Bot é feita em: \SG100\Apl\HUR. Aqui podem ser encontrados os componentes da plataforma Hurakan e os plugins, assim como o executável do serviço cujo nome é Primavera.Hurakan.exe. Cada topic tem a sua própria pasta e todos eles podem ser encontrados em: \SG100\Apl\HUR\Plugins\Bot. Também nesta pasta pode ser encontrada uma peça central no funcionamento do Bot - o ficheiro Integration.config. Este ficheiro contém configurações centrais para o funcionamento do sistema, pois contém as pipelines base que são executadas periodicamente e que são responsáveis pelo agendamento e execução de todas as tasks dos plugins. Cada pipeline tem uma calendarização própria onde é indicado o intervalo entre execuções. De seguida, são enumeradas as pipelines existentes no Integration.config:Conceitos
Tabelas da Base de Dados
Nome Descrição BotMessages Contém as mensagens produzidas pela execução de pipelines para apresentar aos utilizadores através do Assistente Echo. BotStringTable Guarda recursos para efeito de traduções. BotTaskExecutions Contém o histórico de execução de cada task. BotTaskExecutionTraces Contém o rastreamento da execução de cada task. BotTaskReceivers Contém os destinatários das mensagens produzidas por cada task. BotTasks Contém as tasks. BotTopics Contém os topics. BotTopicUserLikes Guarda as reações dos utilizadores às mensagens. BotUserSettings Guarda as definições do painel do Assistente Echo para cada utilizador. BotWorkerStatus Contém as tasks que cada worker do Bot está a executar. BotWorkQueueItems Repositório das tasks agendadas, a ser executadas e executadas. Sistema de Ficheiros
Pipeline Descrição KeepAlive Mantém o serviço em funcionamento. LoadWorkQueue Cria tasks e insere-as na tabela BotWorkQueueItems. ScheduleTasks Obtém todos as tasks no estado 0 (Pronta) e revê as suas prioridades. ExecuteWorkQueue Atribui as tasks com prioridade superior a 500 aos workers disponíveis, executa as tasks no estado 5 (Atribuída) e prioridade superior a 1000 e, finalmente, executa as tasks no estado 5 (Atribuída) e prioridade superior a 500. ExecuteLowPriorityWorkQueue Atribui tasks cuja prioridade máxima é 499 aos workers disponíveis e depois executa-as. OrderMessagesAndCleanHistory Calcula quais as próximas mensagens a apresentar ao utilizador no painel do Assistente Echo e limpa registos antigos.
login para deixar a sua opinião.