Zum Hauptinhalt springen
Celery ist ein einfaches, flexibles und zuverlässiges verteiltes System zur Verarbeitung großer Mengen von Nachrichten und bietet Operations die notwendigen Werkzeuge, um ein solches System zu betreiben.

Installation

🐍 Vergessen Sie nicht, zuerst das AppSignal for Python-Paket zu installieren in Ihrer Anwendung.
Installieren Sie zunächst das Paket opentelemetry-instrumentation-celery. Wir empfehlen außerdem, das Redis-Instrumentierungspaket zu installieren. Um beide Instrumentierungspakete zu Ihrem Projekt hinzuzufügen, fügen Sie die folgenden Zeilen in Ihre requirements.txt-Datei ein:

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

Einrichtung

Celery erfordert eine zusätzliche Einrichtung, da es eine Anwendungskomponente ist, die separat gestartet wird. Wie im folgenden Beispiel gezeigt, muss das Modul appsignal in der Hauptdatei importiert werden, die zum Starten von Celery verwendet wird, und die Methode appsignal.start() muss aus einer Methode mit dem Decorator @worker_process_init.connect aufgerufen werden. Im folgenden Beispiel erfolgt diese Initialisierung in der Datei tasks.py. Diese Datei kann in Ihrer Anwendung anders heißen.
# 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