Blog do TaQ

Reduzindo um pouco as coisas

Publicado em Developer

Uau. Estava com uns probleminhas aqui com um servidorzinho de chat interno na nossa intranet/programas aqui, que eu fiz usando Java NIO.
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. :-)
Tags:


Comentários

Sem nenhum comentário.

comments powered by Disqus

Twitter