This document describes the current stable version of Celery (5.2). For development docs, go here.

celery.contrib.rdb

Remote Debugger.

Introduction

This is a remote debugger for Celery tasks running in multiprocessing pool workers. Inspired by a lost post on dzone.com.

Usage

from celery.contrib import rdb
from celery import task

@task()
def add(x, y):
    result = x + y
    rdb.set_trace()
    return result

Environment Variables

CELERY_RDB_HOST

CELERY_RDB_HOST

Hostname to bind to. Default is ‘127.0.0.1’ (only accessible from localhost).

CELERY_RDB_PORT

CELERY_RDB_PORT

Base port to bind to. Default is 6899. The debugger will try to find an available port starting from the base port. The selected port will be logged by the worker.

celery.contrib.rdb.set_trace(frame=None)[source]

Set break-point at current location, or a specified frame.

celery.contrib.rdb.debugger()[source]

Return the current debugger instance, or create if none.

class celery.contrib.rdb.Rdb(host='127.0.0.1', port=6899, port_search_limit=100, port_skew=0, out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)[source]

Remote debugger.