WeblateOrg / WeblateOrg/weblate
Add Celery Flower integration for background job management
- Dominant language
- Python
- Stars
- 6.1k
- Forks
- 1.4k
- Avg merge
- 9h 53m
- Merged PRs (30d)
- 395
Description
### Describe the problem
Sometimes Weblate acts up and brings the DB to it's knees with overnight jobs. Then the Celery Queue just keeps growing or does not shrink. It would be helpful to have more visibility into what is going on and be able to cancel jobs.
### Solution brainstorm
[Flower](https://docs.celeryq.dev/en/stable/userguide/monitoring.html#flower-real-time-celery-web-monitor) is a real-time Celery web-monitor.
It could be integrated via [django-revproxy](https://django-revproxy.readthedocs.io/) as described in [this blogpost](https://glinteco.com/en/post/securing-celery-flower-with-django-authentication/) and become available in the `/manage/` route.
This should be a "opt-in" feature that can be enabled by a setting, to keep the memory footprint of Weblate light by default.
### Describe alternatives you have considered
Deploy a separate container with Celery Flower that has access to the Redis instance. But it would mean a separate, non-discoverable, deployment-specific URL and separate authentication.
### Screenshots
_No response_
### Additional context
Maybe there is also a way to provide such a integration for non-containerized deployments. If it makes sense feel free to move this issue to the weblate repo.
Also suggested here: https://github.com/WeblateOrg/weblate/issues/11949#issuecomment-2192303950
Contributor guide
Assessment
This issue has not been assessed yet.