Utilzando Celery junto com o SQS

Uma das formas de lidar com processamento assíncrono no Python (e diversas outras linguagens) sem a necessidade de usar threads e afins é utilizando filas e tasks (que são aplicações que rodam conforme demanda, em um processamento similar a batches). Para isso o Python dispõe de uma biblioteca chamada Celery, que de uma maneira bem simples permite realizar o processamento assíncrono. Explicando de uma maneira simples, ao invocar uma função, ao invés de executar seu código, o Celery pega os parâmetros e mais algumas meta-informações da chamada e coloca numa fila, enquanto isso, em outro lugar (processo, computador ou continente), o Celery captura as mensagens desta fila e dispara as tasks. Aqui está uma implementação básica de uma task que soma dois valores: ...

March 17, 2019 · Lucas Polo

Usando terminal e programando em Python no Android

O terminal é uma das ferramentas mais poderosas que temos ao manipular informações no computador, desde o desenvolvimento de software até o hacking, passando por manipulação de texto, administração de sistemas e também para algumas brincadeiras. O acesso ao terminal é simples quando você está dentro de um Linux no computador (e até no Windows agora), porém nem sempre temos um notebook por perto, que por mais que seja portátil, não é simples de carregar por ai. Então, nas pesquisas pela internet, buscando uma alternativa para o tablet e smartphone, eu encontrei o Termux. ...

February 25, 2019 · Lucas Polo

Desempacotando parâmetros em Python

Uma das coisas mais interessantes do Python é como ele interage com as suas estruturas de dados padrão, sendo um dos exemplos mais interessantes o desempacotamento de listas e dicionários. A situação é simples, vamos supor que você tenha uma lista de parâmetros e deseja passar para uma função, podemos testar a seguinte situação: 1 2 3 4 5 6 7 def funcao(parametro1, parametro2, parametro3): print(parametro1, parametro2, parametro3) parametros = [1,2,3] funcao(parametros) Mas temos o seguinte erro: ...

January 4, 2019 · Lucas Polo

Rodando automáticamente o Flake8 antes de todos os commits do Git

Quando programamos em Python é importante verificarmos se o nosso código está de acordo com a PEP 8, seguindo seu guia de estilos. Para isto muitas vezes rodamos o Flake8, que é uma aplicação que analisa o nosso código e avalia o que está seguindo e não está seguindo as boas práticas da PEP 8. Para instalar o Flake8 é muito simples, basta rodarmos o comando: pip install flake8 Após instalarmos para podermos avaliar nosso código no diretório atual basta executarmos o comando: ...

July 6, 2018 · Lucas Polo

Acessando webservices SOAP em Python

Apesar da grande adoção de REST para a criação de webservices, ainda é muito comum (e necessário) termos que trocar mensagens com sistemas legados, inclusive em outras linguagens como Java e .NET, assim poder fazer em chamadas a endpoints SOAP se torna necessário muitas vezes. Esta necessidade surgiu para mim quando vi que testar serviços em SOAP seria muito mais fácil ser feito em Python, devido sua sintaxe idiomática e scripts muito simples de serem construídos. Buscando nas “internets” eu descobri uma biblioteca chamada Zeep, que de tão simples que é o seu acesso não compensa nem discutir muito, mas já irmos direto ao código, utilizando o webservice dos Correios: ...

June 16, 2018 · Lucas Polo