Name | remoulade JSON |
Version |
3.2.2
JSON |
| download |
home_page | None |
Summary | Background Processing for Python 3. |
upload_time | 2024-07-10 11:18:11 |
maintainer | None |
docs_url | None |
author | Wiremind |
requires_python | >=3.8 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<img src="https://remoulade.readthedocs.io/en/latest/_static/logo.png" align="right" width="131" />
# remoulade
[![CircleCI](https://circleci.com/gh/wiremind/remoulade.svg?style=svg)](https://circleci.com/gh/wiremind/remoulade)
[![PyPI version](https://badge.fury.io/py/remoulade.svg)](https://badge.fury.io/py/remoulade)
[![Documentation](https://img.shields.io/badge/doc-latest-brightgreen.svg)](http://remoulade.readthedocs.io)
*A fast and reliable distributed task processing library for Python 3.* Fork of dramatiq.io
<hr/>
**Changelog**: https://remoulade.readthedocs.io/en/latest/changelog.html <br/>
**Documentation**: https://remoulade.readthedocs.io
<hr/>
## Installation
If you want to use it with [RabbitMQ]
```console
$ pipenv install 'remoulade[rabbitmq]'
```
or if you want to use it with [Redis]
```console
$ pipenv install 'remoulade[redis]'
```
## Quickstart
1. Make sure you've got [RabbitMQ] running, then create a new file called
`example.py`:
``` python
from remoulade.brokers.rabbitmq import RabbitmqBroker
import remoulade
import requests
import sys
broker = RabbitmqBroker()
remoulade.set_broker(broker)
@remoulade.actor
def count_words(url):
response = requests.get(url)
count = len(response.text.split(" "))
print(f"There are {count} words at {url!r}.")
broker.declare_actor(count_words)
if __name__ == "__main__":
count_words.send(sys.argv[1])
```
2. In one terminal, run your workers:
```console
$ remoulade example
```
3. In another, start enqueueing messages:
```console
$ python3 example.py http://example.com
$ python3 example.py https://github.com
$ python3 example.py https://news.ycombinator.com
```
Visit the [user guide] to see more features!.
## Dashboard
Check out [SuperBowl](https://github.com/wiremind/super-bowl) a dashboard for real-time monitoring and administrating all your Remoulade tasks.
***See the current progress, enqueue, requeue, cancel and more ...***
Super easy to use !.
## Kubernetes
Remoulade is tailored to run transparently in containers on [Kubernetes](https://kubernetes.io/) and to make the most of their features. This does not mean it cannot run outside of Kubernetes ;)
## Monitoring/Prometheus
Remoulade provides a `Prometheus` Middleware that exposes various metrics (processed messages, retries, fails etc.), [Check it out](https://github.com/wiremind/remoulade/blob/master/remoulade/middleware/prometheus.py).
## Tracing/OpenTelemtry
Take a look at [opentelemetry-instrumentation-remoulade](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-remoulade) if you want to enable tracing for Remoulade operations (enqueue, message processing, retries etc.). See [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/__init__.py) for an example.
The library follows [OpenTelemetry](https://opentelemetry.io/) standards.
## License
remoulade is licensed under the LGPL. Please see [COPYING] and
[COPYING.LESSER] for licensing details.
[COPYING.LESSER]: https://github.com/wiremind/remoulade/blob/master/COPYING.LESSER
[COPYING]: https://github.com/wiremind/remoulade/blob/master/COPYING
[RabbitMQ]: https://www.rabbitmq.com/
[Redis]: https://redis.io
[user guide]: https://remoulade.readthedocs.io/en/latest/guide.html
Raw data
{
"_id": null,
"home_page": null,
"name": "remoulade",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Wiremind",
"author_email": "dev@wiremind.io",
"download_url": "https://files.pythonhosted.org/packages/10/ea/7815d4fbe5c6345dcd26358e21c70f910ba6bd7204ccd50c55136b4d01e2/remoulade-3.2.2.tar.gz",
"platform": null,
"description": "<img src=\"https://remoulade.readthedocs.io/en/latest/_static/logo.png\" align=\"right\" width=\"131\" />\n\n# remoulade\n\n[![CircleCI](https://circleci.com/gh/wiremind/remoulade.svg?style=svg)](https://circleci.com/gh/wiremind/remoulade)\n[![PyPI version](https://badge.fury.io/py/remoulade.svg)](https://badge.fury.io/py/remoulade)\n[![Documentation](https://img.shields.io/badge/doc-latest-brightgreen.svg)](http://remoulade.readthedocs.io)\n\n*A fast and reliable distributed task processing library for Python 3.* Fork of dramatiq.io\n\n<hr/>\n\n**Changelog**: https://remoulade.readthedocs.io/en/latest/changelog.html <br/>\n**Documentation**: https://remoulade.readthedocs.io\n\n<hr/>\n\n\n## Installation\n\nIf you want to use it with [RabbitMQ]\n```console\n $ pipenv install 'remoulade[rabbitmq]'\n```\n\nor if you want to use it with [Redis]\n\n```console\n $ pipenv install 'remoulade[redis]'\n```\n\n## Quickstart\n\n1. Make sure you've got [RabbitMQ] running, then create a new file called\n`example.py`:\n\n``` python\nfrom remoulade.brokers.rabbitmq import RabbitmqBroker\nimport remoulade\nimport requests\nimport sys\n\nbroker = RabbitmqBroker()\nremoulade.set_broker(broker)\n\n\n@remoulade.actor\ndef count_words(url):\n response = requests.get(url)\n count = len(response.text.split(\" \"))\n print(f\"There are {count} words at {url!r}.\")\n\n\nbroker.declare_actor(count_words)\n\nif __name__ == \"__main__\":\n count_words.send(sys.argv[1])\n```\n\n2. In one terminal, run your workers:\n```console\n $ remoulade example\n```\n\n3. In another, start enqueueing messages:\n```console\n $ python3 example.py http://example.com\n $ python3 example.py https://github.com\n $ python3 example.py https://news.ycombinator.com\n```\n\nVisit the [user guide] to see more features!.\n\n## Dashboard\n\nCheck out [SuperBowl](https://github.com/wiremind/super-bowl) a dashboard for real-time monitoring and administrating all your Remoulade tasks.\n***See the current progress, enqueue, requeue, cancel and more ...***\nSuper easy to use !.\n\n## Kubernetes\n\nRemoulade is tailored to run transparently in containers on [Kubernetes](https://kubernetes.io/) and to make the most of their features. This does not mean it cannot run outside of Kubernetes ;)\n\n## Monitoring/Prometheus\n\nRemoulade provides a `Prometheus` Middleware that exposes various metrics (processed messages, retries, fails etc.), [Check it out](https://github.com/wiremind/remoulade/blob/master/remoulade/middleware/prometheus.py).\n\n## Tracing/OpenTelemtry\n\nTake a look at [opentelemetry-instrumentation-remoulade](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-remoulade) if you want to enable tracing for Remoulade operations (enqueue, message processing, retries etc.). See [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/__init__.py) for an example.\nThe library follows [OpenTelemetry](https://opentelemetry.io/) standards.\n\n## License\n\nremoulade is licensed under the LGPL. Please see [COPYING] and\n[COPYING.LESSER] for licensing details.\n\n[COPYING.LESSER]: https://github.com/wiremind/remoulade/blob/master/COPYING.LESSER\n[COPYING]: https://github.com/wiremind/remoulade/blob/master/COPYING\n[RabbitMQ]: https://www.rabbitmq.com/\n[Redis]: https://redis.io\n[user guide]: https://remoulade.readthedocs.io/en/latest/guide.html\n",
"bugtrack_url": null,
"license": null,
"summary": "Background Processing for Python 3.",
"version": "3.2.2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e8fea2d52e90cac612409cf467298a1f05cb69d1422ee36a8d9fe721b1812560",
"md5": "d241e7474e8032440240307c28b48aa7",
"sha256": "934d91c32bb507fce1fc301ae6514f2e0537097d29bba1bdb23298b1560a200f"
},
"downloads": -1,
"filename": "remoulade-3.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d241e7474e8032440240307c28b48aa7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 139738,
"upload_time": "2024-07-10T11:18:08",
"upload_time_iso_8601": "2024-07-10T11:18:08.459182Z",
"url": "https://files.pythonhosted.org/packages/e8/fe/a2d52e90cac612409cf467298a1f05cb69d1422ee36a8d9fe721b1812560/remoulade-3.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "10ea7815d4fbe5c6345dcd26358e21c70f910ba6bd7204ccd50c55136b4d01e2",
"md5": "4ff4b6dd8260bf0ffb1c000b089cd3bc",
"sha256": "70f63e2b1e99e9bcd7aa0c1f3de92d72caf7f19912e8c59e8df960436b6aabea"
},
"downloads": -1,
"filename": "remoulade-3.2.2.tar.gz",
"has_sig": false,
"md5_digest": "4ff4b6dd8260bf0ffb1c000b089cd3bc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 113769,
"upload_time": "2024-07-10T11:18:11",
"upload_time_iso_8601": "2024-07-10T11:18:11.739015Z",
"url": "https://files.pythonhosted.org/packages/10/ea/7815d4fbe5c6345dcd26358e21c70f910ba6bd7204ccd50c55136b4d01e2/remoulade-3.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-10 11:18:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "remoulade"
}