Naar hoofdinhoud gaan
Celery is een eenvoudig, flexibel en betrouwbaar gedistribueerd systeem om enorme hoeveelheden berichten te verwerken, en biedt operations de tools die nodig zijn om zo’n systeem te onderhouden.

Installatie

🐍 Vergeet niet om eerst het AppSignal for Python-package te installeren in uw applicatie.
Installeer eerst het opentelemetry-instrumentation-celery-pakket. We raden ook aan het Redis-instrumentatiepakket te installeren. Om beide instrumentatiepakketten aan uw project toe te voegen, voegt u de volgende regels toe aan uw requirements.txt-bestand:

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

Setup

Celery vereist wat extra setup, omdat het een applicatiecomponent is dat afzonderlijk wordt gestart. Zoals in het onderstaande voorbeeld te zien is, moet de appsignal-module worden geïmporteerd in het hoofdbestand dat wordt gebruikt om Celery te starten, en moet de appsignal.start()-methode worden aangeroepen vanuit een methode met de decorator @worker_process_init.connect. In het onderstaande voorbeeld vindt deze initialisatie plaats in het bestand tasks.py. In uw applicatie kan dit bestand een andere naam hebben.
# 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