Metadata-Version: 2.3
Name: celery-live
Version: 0.1.0
Summary: A readiness and liveness probe service for Celery
Author: James Hardy
Requires-Python: >=3.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: celery (>=4.4.7)
Requires-Dist: click
Requires-Dist: importlib-metadata (<5.0.0) ; python_version == "3.7"
Description-Content-Type: text/markdown

Celery Live
===========

Celery Live is a library for monitoring the health of Celery workers and beat.
Designed to be easy to use with kubernetes, it is heavily based on 
[this blog post](https://medium.com/ambient-innovation/health-checks-for-celery-in-kubernetes-cf3274a3e106)
but packaged for easy deployment.

Usage
=====

In your celery app, add the following code:

```python
from celery import Celery
from celery_live import (
    enable_beat_liveness_checks,
    enable_beat_readiness_checks,
    enable_worker_liveness_checks,
    enable_worker_readiness_checks,
)

app = Celery("ptk_connect")

enable_beat_readiness_checks(app)
enable_worker_readiness_checks(app)
enable_beat_liveness_checks(app)
enable_worker_liveness_checks(app)
```

You can then run these commands to determine liveness or readiness state of beat or worker
 * celery-live beat live
 * celery-live beat ready
 * celery-live worker live
 * celery-live worker ready

this would be configured in kubernetes like
```yaml
    livenessProbe:
      exec:
        command:
        - celery-live
        - worker
        - live
      initialDelaySeconds: 5
      periodSeconds: 5
```
