Pular para o conteúdo principal
O Celery é um sistema distribuído simples, flexível e confiável para processar grandes quantidades de mensagens, fornecendo às operações as ferramentas necessárias para manter tal sistema.

Instalação

🐍 Não esqueça de instalar o pacote AppSignal for Python em sua aplicação primeiro.
Primeiro, instale o pacote opentelemetry-instrumentation-celery. Também recomendamos instalar o pacote de instrumentação do Redis. Para adicionar ambos os pacotes de instrumentação ao seu projeto, adicione as seguintes linhas ao seu arquivo requirements.txt:

<PythonDisableInstrumentations />
# requirements.txt
opentelemetry-instrumentation-celery
opentelemetry-instrumentation-redis

Configuração

O Celery requer alguma configuração extra, pois é um componente da aplicação que é iniciado separadamente. Como mostrado no exemplo abaixo, o módulo appsignal precisa ser importado no arquivo principal usado para iniciar o Celery, e o método appsignal.start() precisa ser chamado a partir de um método com o decorador @worker_process_init.connect. No exemplo abaixo, essa inicialização ocorre no arquivo tasks.py. Esse arquivo pode ter um nome diferente na sua aplicação.
# tasks.py

# Import this file
import appsignal

from celery import Celery

# Import this file
from celery.signals import worker_process_init

# Add the init_celery_tracing method with its annotation
@worker_process_init.connect(weak=False)
def init_celery_tracing(*args, **kwargs):
    appsignal.start()

app = Celery('tasks', broker='redis://localhost')

@app.task
def slow_task():
    # Do things