You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pug...@googlegroups.com
Comecei a estudar Django hà uma semana depois de ter dado uma rodada básica no Flask e ter considerado bastante o uso de outras linguagens com Sinatra ou Node.JS
No fim vi que Django é de toda forma a melhor opção pra o projeto didatico que desenhei aqui.
Agora no meio dos meus estudos uma questão me veio à cabeça, É possivel implementar non-blocking operations ao estilo Node.JS em Django sem a necessidade de importa librarias de terceiros?
Abraços
Fernando
unread,
Nov 6, 2012, 10:41:06 PM11/6/12
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pug...@googlegroups.com
Sim, mas deve ser bem chato.
Mas porque você precisa de algo não bloqueante?
Uma coisa que você pode fazer é rodar um outro processo utilizando o
gevent ou tornado para as operações que precisem ser assíncronas.
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Comunidade_Python
Bem, eu não sou especialista em Django e nem em outro web framework, mas na maioria das vezes não consigo ver a limitação que vc vai ter. Veja, vamos dizer que vc precisa retornar uma quantidade absurda de registros, isso com certeza seria uma operação demorada e que iria bloquear o server. O que eu faria nesse caso era construir o serviço como uma API REST e colocar lá um contador que dissesse quantos registros no total e minha posição atual nos registros, tipo 1-100, 101-200, etc.
Talvez se vc disser oq quer fazer exatamente, a gente tenha como dar um pitaco melhor.
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pug...@googlegroups.com
Sempre existe a possibilidade de fazer as coisas em background, celery ta ai para isso, ou até mesmo uma simples thread aberta já funciona em muitos casos, precisamos saber o que você quer fazer ai fica mais fácil ajudar.
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Comunidade_Python
Pois é, inclusive, na outra Thread eu levantei a bola de usar custom commands junto o agendador de tarefas do windows, que tbm poderia ser o cron no linux. Depende muito do que se quer fazer.
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pug...@googlegroups.com
Eu to "portando" uma libraria minha do C++(com varios tipos para calculos de precisao arbitraria) para python e to estudando Django pra desenvolver a interface web para a api que está sendo portada.
Meu design ja mudou três vezes antes de começar a implementar:
Usar python para abrir um novo thread para cada calculo e mostrar uma barra de loading na tela. Que no meu caso nao seria devido a memoria usado por certos calculos onde um espaço de memória independente seria necessario o que me levou ao segundo design...
Usar python para fazer uma chamada de sistema e abrir um PID para cada calculo. Na verdade continua uma boa idéia e envolveria menos codigo e uma interface mais limpa sem preocupação com thread safety.
Usar Node.JS E fazer essas non-blocking o grande problema é que quero me limitar 100% à uma so linguagem. :S
(E no momento) Usar non-blocking operations em python para cada request de calculo e mostrar a barra de de loading para o usuario assim como dar a opção de iniciar outros calculos. (Nao seria tao complicado pra implementar isso usando python ou C-bindings mas seria refazer a roda.