芹菜¶
logfire.instrument_celery()
方法将为 Celery worker 执行的每个任务创建一个跨度。
安装¶
使用额外的芹菜
安装 logfire
:
pip install 'logfire[芹菜]'
rye add logfire -E 芹菜
poetry add 'logfire[芹菜]'
用法¶
您需要一个消息代理来运行 Celery。在此示例中,我们将在 docker 容器上运行 RabbitMQ。您可以按如下方式运行它:
docker run -d --hostname my-rabbit \
--name some-rabbit \
# -e RABBITMQ_DEFAULT_USER=user \
# -e RABBITMQ_DEFAULT_PASS=password \
rabbitmq:3-management
下面我们有一个使用芹菜的最小示例。你可以用 celery -A tasks worker --loglevel=info
来运行它:
logfire.configure()
@worker_process_init.connect(weak=False) def init_celery_tracing(args, *kwargs): logfire.instrument_celery()
app = Celery("tasks", broker="pyamqp://localhost//") # (1)!
@app.task def add(x, y): return x + y
add.delay(42, 50) ```
-
使用
pip install pyamqp
安装pyamqp
。
logfire.instrument_celery()
传递给 CeleryInstrumentor().instrument()
方法。
本文总阅读量次