WeblateOrg / WeblateOrg/weblate

Add Celery Flower integration for background job management

Open
#16,126 5 comments 0 reactions 0 assignees View on GitHub
Waiting for: Demand
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.