Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anexia/celery-amqp-backend
A rewrite of the original Celery AMQP result backend that supports Celery 5.0 and newer.
https://github.com/anexia/celery-amqp-backend
amqp celery celery-backend celery-result hacktoberfest python
Last synced: 2 months ago
JSON representation
A rewrite of the original Celery AMQP result backend that supports Celery 5.0 and newer.
- Host: GitHub
- URL: https://github.com/anexia/celery-amqp-backend
- Owner: anexia
- License: mit
- Created: 2021-10-08T08:56:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-03T08:45:02.000Z (about 1 year ago)
- Last Synced: 2024-04-14T10:11:18.966Z (10 months ago)
- Topics: amqp, celery, celery-backend, celery-result, hacktoberfest, python
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 2
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
celery-amqp-backend
===================[![PyPI](https://img.shields.io/pypi/v/celery-amqp-backend)](https://pypi.org/project/celery-amqp-backend/)
[![Test Status](https://github.com/anexia/celery-amqp-backend/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/anexia/celery-amqp-backend/actions/workflows/test.yml)
[![Codecov](https://codecov.io/gh/anexia/celery-amqp-backend/branch/main/graph/badge.svg)](https://codecov.io/gh/anexia/celery-amqp-backend)`celery-amqp-backend` is a rewrite of the Celery's original `amqp://` result backend, which was removed from Celery
with version 5.0. Celery encourages you to use the newer `rpc://` result backend, as it does not create a new
result queue for each task and thus is faster in many circumstances. However, it's not always possible to switch
to the new `rpc://` result backend, as it does have restrictions as follows:
- `rpc://` does not support chords.
- `rpc://` results may hold a wrong state.
- `rpc://` may lose results when using `gevent` or `greenlet`.The result backend `celery_amqp_backend.AMQPBackend://` does not suffer from the same issues.
# Installation
With a [correctly configured](https://pipenv.pypa.io/en/latest/basics/#basic-usage-of-pipenv) `pipenv` toolchain:
```sh
pipenv install celery-amqp-backend
```You may also use classic `pip` to install the package:
```sh
pip install celery-amqp-backend
```# Getting started
## Configuration options
### `result_backend: str`
Set to `'celery_amqp_backend.AMQPBackend://'` to use this result backend.
### `result_persistent: bool`
Default: `False`
If set to `True`, result queues will be persistent queues. This means that messages will not be lost after a
message broker restart.### `result_exchange: str`
Default: `'celery_result'`
The prefix for result queues created by the backend (e.g. if `result_exchange` is set to `'example'`, a result
queue may be named `'example.36723ac0-aacf-4668-8927-08794d0b082e'`).### `result_exchange_type: str`
Default: `'direct'`
The type of the exchange created by the backend (e.g. `'direct'`, `'topic'` etc.).
## Example configuration
```python
result_backend = 'celery_amqp_backend.AMQPBackend://'
result_persistent = False
result_exchange = 'celery_result'
result_exchange_type = 'direct'
```# Supported versions
| | Celery 5.2 | Celery 5.3 |
|-------------|------------|------------|
| Python 3.8 | ✓ | ✓ |
| Python 3.9 | ✓ | ✓ |
| Python 3.10 | ✓ | ✓ |
| Python 3.11 | ✓ | ✓ |
| Python 3.12 | ✗ | ✓ |# List of developers
* Andreas Stocker , Lead Developer