Mostrando postagens com marcador rabbitmq. Mostrar todas as postagens
Mostrando postagens com marcador rabbitmq. Mostrar todas as postagens

quarta-feira, 30 de maio de 2012

Como configurar o django-celery

Aqui vou explicar como instalar o django-celery, seus requisitos e como configurá-lo. Pois, para variar, foi necessário consultar uma infinidade de fontes para aproveitar uma linha ou duas de cada uma.  Sim, isso torra o ** é chato demais e perdemos muito tempo. =/
Comecemos.

O que é o django-celery?

O django-celery é um pacote para o django para fornecer ao django as funcionalidades do Celery. O qual se trata de uma ferramenta distribuída para gerenciamento de tarefas.
Retirado do site do Celery:
O Celery é uma ferramenta para gerenciamento de fila de tarefas assíncronas baseado em passagem de mensagens distribuídas. Seu foco é em operações em tempo real, mas também suporta agendamento de tarefas.
Suas unidades de execução, chamadas de "tarefas", são executadas concorrentemente em um ou mais servidores usando multiprocessamento, Eventlet, ou gevent. As tarefas podem ser executadas de forma assíncrona (no plano de fundo) ou de forma síncrona (esperar até que esteja pronta).

Celery é escrito em Python, mas seus protocolos podem ser implementados em qualquer linguagem. Ele também pode trabalhar com outras linguagens usando "webhooks". Sem contar que há o RCelery feito para Ruby e funciona como cliente PHP.
O gerenciador de mensagens padrão/recomendado é o RabbitMQ, mas fornece suporte para Redis, MongoDB, Beanstalk, Amazon SQS, CouchDB e bancos de dados (usa SQLAlchemy ou o Django ORM).
Em miúdos: é um anacron com ferramentas para trabalho distribuído e integrável a várias ferramentas.