Django Celery Progressbar
Simple progressbar for a Django application with Celery. Uses database as a temporary storage.
Installation
Installation is as simple as installing a package from PyPi and applying migrations:
$ pip install django-celery-progresbar $ python manage.py migrate django_celery_progressbar
Usage
Typical usage on the side of Celery task would look like:
from django_celery_progressbar.bars import ProgressBar
from celery import shared_task
@shared_task
def do_something():
bar = ProgressBar(
task_id=do_something.request.id,
total=10,
step='Drying kelp...'
)
some_work()
bar.update(
progress='5',
step='Making sushi...'
)
some_more_work()
bar.progress.finalize()
To retireve current progressbar state, you can use built-in getter:
from django_celery_progressbar.bars import ProgressBar
bar = ProgressBar.get(task_id)
print(bar)
>>> 5 / 10 | Drying kelp...
# or as percent:
print(bar.as_percent)
>>> 50.0%
Keep in mind: as ProgressBar fetches DB object on creation, it is not updated dynamically.
Configuration
The following default settings can be overridden in your settings.py:
PROGRESSBAR_DEFAULT_TOTAL = 100
PROGRESSBAR_DESTROY_ON_EXIT = False
PROGRESSBAR_DYNAMIC_UPDATE = False
PROGRESSBAR_DEFAULT_TOTAL - Default value for ‘Total’ progressbar attribute PROGRESSBAR_DESTROY_ON_EXIT - Destroy model object on task completion PROGRESSBAR_DYNAMIC_UPDATE - Dynamically update progressbar DB object in runtime. You don’t need it turned on in stateless apps
License
Free software: MIT license
History
0.2.3 (2020-07-12)
added proper documentation
0.2.2 (2020-07-12)
added dynamic property to ProgressBar
0.2.1 (2020-07-12)
minor cosmetics
0.2.0 (2020-06-28)
added possibility for dynamic updates in runtime
added update() method to ProgressBar class
fixed a bug with finalize() method
0.1.1 (2020-06-28)
added as_percent attribute to ProgressBar class
added finalize() method to ProgressBar class
0.1.0 (2020-06-28)
First release on PyPi
Release files for django-celery-progressbar 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_celery_progressbar-0.2.3.tar.gz | 5.9 kB | Details |
Release files / django_celery_progressbar-0.2.3.tar.gz
| Download URL | django_celery_progressbar-0.2.3.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21574081d40c3814997d61bd63d950e940a489e70f68e6dd855f668ab3c9aa42
|
|
BLAKE2b-256 checksum How to use checksums |
2bff2f5b69eefcfe4a713a6ec77982fc37ff2355b4a7a3ed1e4df001099029c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.7
|