[Música] bem Bom dia foi eu acho que no dia 8 do do a gente teve essa reunião para discutir mais sobre essas questões mais técnicas relacionadas a essa arquitetura né da da estruturação das legislações né Eh de lá para cá a gente teve esses três pontos como o Carlos já tinha comentado que a gente evoluiu um pouco né A primeira foi sobre essa atualização contínua do C 927 né antes a gente tinha apenas uma base estática e agora foi feito um trabalho né Para Sempre eh buscar dos portais adequados utilizar essa ap eh eh para
sempre ter essa base mais atualizada né então como sempre eh eh antes existir essa base estática então a leitura dessa base e a e a e a utilização dela era bem mais simples né então devido que agora sempre tá tendo um processo de atualização e sempre precisa-se ter a leitura completa da base de dados para saber se houve alguma alguma atualização que não dá para fazer de forma incremental né Vamos imaginar que e a gente fez o aquisição da base no dia no dia t no dia t+ um é só fazer um processo incremental né
mas só que poderia ter algumas modificações na base então sempre deveria ser refeito tanto dia T men1 dia T E por aí vai né então isso deixou o processo bem lento então a gente colocou alguns processos multithreads para para agilizar esse processo de atualização do Corpus 927 eh e e a o principal ponto em relação a esses detalhes técnicos que o que o o o o diretor de TI falou né o thgo foi que eh eles rodam as aplicações tudo de forma containerize sempre utiliza docker para fazer a execução das aplicações então a gente eh
pegou algumas sugestões com eles de de imagem e e e a gente colocou a nossa aplicação que antes a gente rodava diretamente numa numa estância sc2 agora a gente continua rodando na Estância S2 mas de forma isolada dentro de um contêiner bem ele tinha comentado que o Thiago né o o o diretor de take ele rodava as aplicações em kubernetes né mas a gente tinha comentado que os nossos testes foram todos feitos dentro de instâncias sc2 mas só que agora a gente tá a gente tá fazendo essas aplicações de forma isolada dentro de um contêiner
então a gente mantém ainda a utilização do S2 certo e para paraa execução de toda arquitetura que o Carlos que o professor Carlos comentou a gente separou em esses três principais Passos o primeiro passo é o lançamento de um evento para para dar um gatilho né Para dar um gatilho para rodar aplicação então a gente imagina que a aplicação deveria ser rodado em x em x tempos né então isso pode ser definido por vocês por exemplo a a a todo dia às 21 horas Rode a aplicação e ele faz todo processo de atualização se isso
aí for uma granularidade muito pequena pode colocar para TRS TR Dias uma semana enfim é só fazer a configuração que a gente chama de chrom para para configurar isso né então um um um Trigger né que e como a gente tá utilizando totalmente a infraestrutura da WS a gente utiliza esse esse esse serviço que é O Event Bridge que lança um evento para que uma WS lambda que é uma unzinho que vai apenas ligar a máquina então o primeiro passo é fazer o processo de configuração de quanto em quanto tempo que a gente vai rodar
a aplicação Isso é isso é configurado através da do serviço de event Bridge que lança que lança um evento para a WS lambda apenas com a função de ligar uma máquina né uma máquina é2 o segundo passo uma vez que essa máquina ligada a gente configura ela para toda vez que ela é inici ada ela executar um script esse script ele faz os processos que tá descrito no no Passo três de baixar os dados de executar o docker com a aplicação e três subir o dado atualizado de volta lá pro sc3 então aqui tá o
detalhamento de cada um né então O Event brid é um escalonador de evento que vai e enviar um evento lá paraa função lambda né Então aqui tem um exemplo de uma regra né seja cada 21 horas de todo dia ele vai lançar este evento esse evento ele ele ele indica que eu quero iniciar dar um start nessa determinada Instância com esse ID né esse evento é como se fosse os parâmetros né Eu quero que ligue essa Instância né mas só que esses parâmetros vão para esse código aqui que é uma função âmb daa eh executar
uma determinado determinados clos de forma cfess né a gente não precisa inicializar um servidor para rodar essa função Zinha né então o que essa função lambda faz é apenas iniciar e eh eh eh lançar uma Instância né iniciar uma Instância quando a instância é iniciada ela Executa os passos dois e três basicamente é executar um script que dentro desse script faz aqueles três passos faz aqueles três pontos né de baixar o dado de Executar aplicação via contêiner e de subir o dado subir o dado de volta né então que e eh eh esse script aqui
na parte de cima faz todo esse processo né então a gente baixa os dados da S3 executa usando o o Dock Run e o o nome o nome do nosso contêiner app crawler LW né E quando a execução acabar eh eh eu todos os dados que são output e são são levantados de novo são enviados fazem o pad lá para S3 certo eh esse esse script ele é rodado toda vez que a máquina toda vez que a máquina ela é iniciada né então aqui eh eh eu esqueci de colocar mas existia último comando que é
apenas para desligar a máquina né então toda vez que ele eh baixou executou os comandos e em seguida subiu de novo os comandos ele desliga a máquina No próximo dia quando o evento for lançado de novo ele repete o processo né Esse comando a gente configura utilizando os comandos do Chrome do Linux né que tem um arquivo chamado chrom Tab que a gente faz uma configuração para toda vez que ocorrer um reboot ou seja toda vez que a máquina Foi iniciada ou reiniciada ele executa Esse comando né que é essa referência aí @ reboot sudun
sh sh para e o nome do arquivo né startup.sh que é esse arquivo aí de cima eh e como sugestão lá né como como sugestão do do do Thiago Eh pra gente deixar isso de forma eh executar dentro de um contêiner então aqui tá o nosso docker file o Dock Fire que vai vai criar a imagem que vai ser rodada lá na nossa máquina S2 então a gente eh e eh pegou a sugestão dele de utilizar essa máquina essa essa imagem B que é o Python 3.10 Slim bu né que é uma imagem Pequena ele
sugeriu outra mas mas a gente pegou é essa essa daqui que foi uma das que eles que eles sugeriram né E então esse arquivo ele vai ele vai montar a imagem do nosso docker né e eh e em seguida e o o o entry Point dele né o comando que que que a que a Instância que essa imagem vai rodar quando a gente pedir para para executar a imagem gerada por esse docfile é o Python Run onde e esse Run é o código que tá todo o processo lá de crawler e etl que o Carlos
comentou [Música]