Reduzindo um pouco as coisas
Publicado em Developer
O lance era o seguinte: o esquema de Selectors e Channels sabe Deus por quê as vezes surta e come uma CPU danada. Parece bug ou barbeiragem no código? Deêm uma olhada aqui, aqui e aqui. A coisa é bem chatinha e doida. Tem muitos gotchas escondidos lá ...
Bom, ontem na hora do almoço resolvi tentar dar uma enxugada na coisa, por que a galera estava reclamando que a CPU estava querendo arriar, estava 0% idle!!! Aí descobri o asyncore do Python e resolvi arriscar as fichas lá.
Não é que funcionou? A CPU está com 93.1% idle agora, e reduzi o programa antigo de 780 linhas (com comentários) para 320 linhas (com *bastante* comentários!) e não é que o mardito ficou com somente 7kb? Já está rodando em produção, vamos ver se não dá nenhum problema ehehe. :-)
A única coisa que me ferrei foi que aqui na minha máquina até tenho um client do Oracle instalado, mas a máquina que roda o programa não, então perdi a funcionalidade do banco que eu precisava só para gravar uns logs lá (estou usando o cx_Oracle aqui na minha máquina para acessar o banco), nada demais, mas seria uma boa Python ter uns drivers "thin" como o Java tem, que não precisam ter o client do banco instalado (o do Oracle é chato para instalar, viu!).
O que? Você sabe de alguma coisa do tipo? Por favor, me enviei um email informando, que lhe serei muito grato. :-)
Comentários
Comentários fechados.
Sem nenhum comentário.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300