Celery é um sistema sólido, simples e flexível que permite executar grande números de mensagens de forma assíncrona ou fila de tarefas. É um task queue com foco no processamento em tempo real e suportando também agendamento de tarefas. Celery é um sistema open source que está sob a licença BSD, ele é escrito em Python, mas o protocolo pode ser implementado em qualquer idioma, além do Python tem o Node-Celery e Node-Celery-ts para o Node.js e um cliente PHP.
A entrada de uma fila de tarefa eé considerada como uma unidade de trabalho que e chamada de Task. Workers dedicados monitoram constantemente essas filas verificando a existência de uma tarefa para ser executada. O Celery realiza sua comunicação via mensagens utilizando um broker para realizar a intermediação entre o clint e o worker. Para poder acontecer essa comunicação o client insere uma mensagem a fila e o broker realiza o trabalho de distribuir essa mensagem a um worker disponível.
O Celery permite trabalhar com múltiplos workers e brokers, assim, facilitando uma escalabilidade horizontal na execução de suas tasks.
Task – Task queues são usadas como um mecanismo de distribuição de trabalho entre threads e maquinas.
Instalação
Você pode instalar o Celery através do Python Package Index (PyPI) ou da fonte.
Para instalar usando o pip:
- $ pip install -U Celery
Pacotes
O Celery também define um grupo de pacotes configuráveis que podem ser usados para instalar o Celery e as dependências para um determinado recurso.
Você pode especificá-los em seus requisitos ou na linha de comando pip usando colchetes. Vários pacotes configuráveis podem ser especificados, separando-os por vírgulas.
- $ pip install “celery[librabbitmq]”
- $ pip install “celery[librabbitmq,redis,auth,msgpack]”
Baixar e instalar a partir da fonte
Faça o download da versão mais recente do Celery no PyPI:
Você pode instalá-lo fazendo o seguinte:
- $ tar xvfz celery-0.0.0.tar.gz
- $ cd celery-0.0.0
- $ python setup.py build
- # python setup.py install
O último comando deve ser executado como um usuário privilegiado se você não estiver usando um virtualenv no momento.
Usando a versão de desenvolvimento
Com pip
A versão de desenvolvimento do Celery também requer as versões de desenvolvimento do kombu , amqp , bilhar e vine .
Você pode instalar a captura instantânea mais recente usando os seguintes comandos pip:
- $ pip install https://github.com/celery/celery/zipball/master#egg=celery
- $ pip install https://github.com/celery/billiard/zipball/master#egg=billiard
- $ pip install https://github.com/celery/py-amqp/zipball/master#egg=amqp
- $ pip install https://github.com/celery/kombu/zipball/master#egg=kombu
- $ pip install https://github.com/celery/vine/zipball/master#egg=vine
Mais informações acesse o link.