Execução em background

25 views
Skip to first unread message

leonardo

unread,
Nov 19, 2012, 11:43:51 AM11/19/12
to django...@googlegroups.com
Pessoal,

A dúvida aqui é mais teórica.
Tenho uma app que o usuário submete uma série de dados financeiros em um form e depois só precisa acessá-los consolidados.
Estou consolidando os dados em cada pesquisa, o que torna oneroso e desnecessário, pois os cálculos não são triviais e a quantidade de dados é grande.
Gostaria que assim que o usuário fizesse o post, este continuava a usar a aplicação normalmente e em background, executasse a consolidação. Assim na próxima vez que ele acessasse o dado, era só pegar o consolidado direto do banco sem precisar de cálculos a cada pesquisa.

Qual a tecnologia apropriada para isso ? O tal ZeroQM ? Alguma forma de assíncronismo ? Filas ?

E a arquitetura ? Utilizando dois BDs (um deles NoSQL) ? Redis ? Tanto faz ?

Abs,

Rafael Novello

unread,
Nov 19, 2012, 12:34:26 PM11/19/12
to django...@googlegroups.com
Oi Leonardo.

Uma das ferramentas mais usadas para esse tipo de situação é o Django-Celery [1].

Funciona como uma app que vc "instala" no seu projeto e passa a poder delegar tarefas para serem executadas em background.

Na própria documentação vc vai encontrar a resposta para suas perguntas, arquitetura, gerenciador de filas, BD e etc.


Espero que te ajude. Um abraço!
Atenciosamente,
Rafael Novello.

Twitter: @rafa_novello


--
 
 

leonardo

unread,
Nov 19, 2012, 12:40:12 PM11/19/12
to django...@googlegroups.com
Rafael,

Obrigado pela dica.
Estou vendo agora sobre o Celery. A documentação fala em RabbitMQ ou Redis. Sabe se pode ser utilizado o ZeroMQ como broker ?

Abs,

Rafael Novello

unread,
Nov 19, 2012, 1:16:43 PM11/19/12
to django...@googlegroups.com
Leonardo,

O broker padrão é o RabbitMQ mesmo, mas acredito que seja possível trocar. Nunca tentei, mas acho que rola.

Um abraço!
Atenciosamente,
Rafael Novello.

Twitter: @rafa_novello



--
 
 

Vinicius Assef

unread,
Nov 19, 2012, 1:37:49 PM11/19/12
to django...@googlegroups.com
Eu prefiro o feijão-com-arroz, sempre que possível.

Que tal pensar em atualização em background via cron?

--
Vinicius


2012/11/19 leonardo <leonard...@gmail.com>:
> --
>
>

Christian S. Perone

unread,
Nov 19, 2012, 2:29:19 PM11/19/12
to django...@googlegroups.com
O Celery não suporta ZeroMQ como broker porque o ZeroMQ não tem um broker como há no modelo do RabbitMQ, esse é um dos motivos do ZeroMQ ter a performance que tem.

2012/11/19 Vinicius Assef <vinic...@gmail.com>
--





--
"Forgive, O Lord, my little jokes on Thee, and I'll forgive Thy great big joke on me."
http://pyevolve.sourceforge.net/wordpress/

Reply all
Reply to author
Forward
0 new messages