Skip to main content

Ranch

Standardized tooling, monitoring, and retry logic for use with Celery. fork of https://github.com/managedbyq/mbq.ranch

Installation

Ranch is a Django application. To use Ranch with Celery, add the following to your settings file:

INSTALLED_APPS = [
    ...
    'csf.ranch'
]

RANCH = {
    'env': ENV_NAME,  # e.g. production, development
    'service': MY_SERVICE_NAME,  # e.g. backend
}

Features

Metrics

Any application with Ranch installed will have Celery metrics available in the Celery/Ranch Datadog Dashboard.

Monitors

You may set up monitors for your application using the metrics provided by Ranch.

Dead Letter Queue

Celery jobs that fail will be stored in the application's database for inspection and reprocessing. Ranch provides an Admin interface for this.

See backends's Ranch Admin for an example.

Correlation IDs

Ranch can flow correlation IDs through your Celery jobs. Ranch will not change any of your logging configuration, so you'll still need to do that as part of your correlation ID implementation.

To use the correlation ID functionality, add the following settings:

RANCH = {
    ...,
    'correlation': {
        'getter': getter_fn,  # callable with no args that returns the current correlation ID
        'setter': setter_fn,  # callable with one arg which should be set as the current correlation ID
    },
}

Supplemental Error Tagging

Ranch provides a hook to add additional tagging information to error item metrics.

To use this feature, add the following settings:

RANCH = {
    ...,
    # tags_fn takes a single arg (the Ranch Task object that failed)
    # and should return a list of strings in the format "tag_name:tag_value"
    'extra_error_queue_tags_fn': tags_fn,
}

Metadata

Release files for csv.ranch 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for csv.ranch 1.0
File Size Uploaded
csv_ranch-1.0.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for csv.ranch 1.0
File Interpreter ABI Platform
csv_ranch-1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 25.9 kB

Release files / csv_ranch-1.0.tar.gz

Download URL csv_ranch-1.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c71e1252c8ad2cb8acfdeada7f8573e9ac636da33c5d0528b444ee064e3146b1
BLAKE2b-256 checksum
How to use checksums
709cee4705a9e8124ddcd7deddb55a965855c248fd6557b77ab286d5d368755c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / csv_ranch-1.0-py2.py3-none-any.whl

Download URL csv_ranch-1.0-py2.py3-none-any.whl
Size 14.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e1da8c9d7ece3fb017ae31eb07818bdcd5f2c969be43369d07232eb20f3347ae
BLAKE2b-256 checksum
How to use checksums
50618201425119fb0891a0eca5d33746383fcc9b62636fe12e078f8246bc1d30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page