summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 05:06:16 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 05:06:16 +0000
commit5fe63c7ebcefd36c6f6cf6f047a3c8d25f72740c (patch)
treef952e2d4f3f4a5065095f433af87286b9d71d784
parent4264252f267c66adf66ef400429cf0cf9f647a2a (diff)
automatic import of python-django-huey-monitor
-rw-r--r--.gitignore1
-rw-r--r--python-django-huey-monitor.spec826
-rw-r--r--sources1
3 files changed, 828 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..2fd4343 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django_huey_monitor-0.6.0.tar.gz
diff --git a/python-django-huey-monitor.spec b/python-django-huey-monitor.spec
new file mode 100644
index 0000000..68a5168
--- /dev/null
+++ b/python-django-huey-monitor.spec
@@ -0,0 +1,826 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-huey-monitor
+Version: 0.6.0
+Release: 1
+Summary: Django based tool for monitoring huey task queue: https://github.com/coleifer/huey
+License: GNU General Public License v3 or later (GPLv3+)
+URL: https://github.com/boxine/django-huey-monitor/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ae/8e/81c245bab127cf549f7cd9306d63e49a1ab239180acc269f14a67a7b7b0a/django_huey_monitor-0.6.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-bx_django_utils
+Requires: python3-bx_py_utils
+Requires: python3-django
+Requires: python3-huey
+
+%description
+# django-huey-monitor
+
+Django based tool for monitoring [huey task queue](https://github.com/coleifer/huey)
+
+Current implementation will just store all Huey task signals into the database
+and display them in the Django admin.
+
+[![pytest](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml/badge.svg?branch=master)](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml) [![Coverage Status on codecov.io](https://codecov.io/gh/boxine/django-huey-monitor/branch/master/graph/badge.svg)](https://codecov.io/gh/boxine/django-huey-monitor)
+
+[![django-huey-monitor @ PyPi](https://img.shields.io/pypi/v/django-huey-monitor?label=django-huey-monitor%20%40%20PyPi)](https://pypi.org/project/django-huey-monitor/)
+[![Python Versions](https://img.shields.io/pypi/pyversions/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/pyproject.toml)
+[![License GPL](https://img.shields.io/pypi/l/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/LICENSE)
+
+
+## Quickstart
+
+```bash
+pip install django-huey-monitor
+```
+
+```python
+INSTALLED_APPS = [
+ #...
+ 'bx_django_utils', # https://github.com/boxine/bx_django_utils
+ 'huey_monitor',
+ #...
+]
+```
+
+Note: You must normally not change your Huey tasks.
+
+### Collect main-/sub-tasks
+
+Huey monitor model can store information about task hierarchy. But this information can't be collected automatically.
+You have to store these information in your Task code.
+
+e.g.:
+
+```python
+@task(context=True)
+def sub_task(task, parent_task_id, chunk_data):
+ # Save the task hierarchy by:
+ TaskModel.objects.set_parent_task(
+ main_task_id=parent_task_id,
+ sub_task_id=task.id,
+ )
+ # ... do something with e.g.: chunk_data ...
+
+
+@task(context=True)
+def main_task(task):
+ for chunk_data in something:
+ sub_task(parent_task_id=task.id, chunk_data=chunk_data)
+```
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+### Collect progress information
+
+Running task can store progress information in a similar way as [tqdm](https://pypi.org/project/tqdm/).
+So it's possible to see the progress in admin.
+
+Minimal example:
+
+```python
+@task(context=True)
+def foobar_task(task, list_to_process):
+ process_info = ProcessInfo(
+ task,
+ desc='A description of this Job',
+ total=len(list_to_process)
+ )
+
+ for item in list_to_process:
+ # ...to something with the {item}...
+ process_info.update(n=1) # add the information that one item was processed
+```
+
+It is also possible to divide the work to several tasks and collect information about the processing of main-/sub-tasks.
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+## run test project
+
+Note: You can quickly test Huey Monitor with the test project, e.g:
+
+```bash
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+or in an isolated Docker container:
+```bash
+~/django-huey-monitor$ make up
+```
+More info see below.
+
+# Screenshots
+
+(More Screenshots here: [boxine.github.io/django-huey-monitor/](https://boxine.github.io/django-huey-monitor/))
+
+### 2021-02-22-v030-task-details.png
+
+![2021-02-22-v030-task-details.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-task-details.png)
+
+### 2021-02-22-v030-progress-info1.png
+
+![2021-02-22-v030-progress-info1.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-progress-info1.png)
+
+
+## developing
+
+* install docker
+* clone the project
+* start the container
+
+To start developing e.g.:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ make
+help List all commands
+install-poetry install or update poetry via pip
+install install via poetry
+update Update the dependencies as according to the pyproject.toml file
+lint Run code formatters and linter
+fix-code-style Fix code formatting
+tox-listenvs List all tox test environments
+tox Run pytest via tox with all environments
+pytest Run pytest
+pytest-ci Run pytest with CI settings
+publish Release new version to PyPi
+makemessages Make and compile locales message files
+clean Remove created files from the test project (e.g.: SQlite, static files)
+build Update/Build docker services
+up Start docker containers
+down Stop all containers
+shell_django go into a interactive bash shell in Django container
+shell_huey go into a interactive bash shell in Huey worker container
+logs Display and follow docker logs
+reload_django Reload the Django dev server
+reload_huey Reload the Huey worker
+restart Restart the containers
+fire_test_tasks Call "fire_test_tasks" manage command to create some Huey Tasks
+
+~/django-huey-monitor$ make install-poetry
+~/django-huey-monitor$ make install
+~/django-huey-monitor$ make up
+```
+
+
+It's also possible to run the test setup with SQLite and Huey immediate setup
+without docker:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+
+
+## Backwards-incompatible changes
+
+
+### Version compatibility
+
+| huey-monitor | Django | Python
+|--------------|------------------|------------------------
+| >v0.6.0 | v3.2, v4.0, v4.1 | v3.9, v3.10, v3.11
+| >v0.5.0 | v2.2, v3.1, v3.2 | v3.7, v3.8, v3.9
+| <=v0.4.0 | v2.2, v3.0, v3.1 | v3.7, v3.8, v3.9
+
+
+### v0.5.0
+
+Change CI and remove tests against Django 3.0, but add test run with Django v3.2
+
+### v0.3.0 -> v0.4.0 - Outsourcing Django stuff
+
+[bx_py_utils](https://github.com/boxine/bx_py_utils) was split and Django related stuff moved into: [bx_django_utils](https://github.com/boxine/bx_django_utils)
+
+You must change your Django settings and replace the app name:
+```diff
+ INSTALLED_APPS = [
+ #...
+- 'bx_py_utils',
++ 'bx_django_utils',
+ 'huey_monitor',
+ #...
+ ]
+```
+
+
+## History
+
+* [dev](https://github.com/boxine/django-huey-monitor/compare/v0.6.0...master)
+ * _tbc_
+* [v0.6.0 - 09.01.2023](https://github.com/boxine/django-huey-monitor/compare/v0.5.0...v0.6.0)
+ * Test against Django v3.2, v4.0, v4.1 and Python v3.9 - v3.11
+ * Optimize Admin change list ([contributed by henribru](https://github.com/boxine/django-huey-monitor/pull/110))
+ * Order sub-tasks chronologically in admin ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/90))
+ * displaying progression for parent_tasks ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/91))
+ * Delegating set_parent_task to `ProcessInfo.__init__` ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/111))
+ * Fix #27 auto crop overlong process info description
+ * NEW #102 Unlock all tasks via change list object tool link
+ * Fix #81 Expand `TaskModel.desc` max. length and make `SignalInfoModel.exception_line` optional
+ * Update docker test setup
+* [v0.5.0 - 10.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.6...v0.5.0)
+ * Refactor models: Remove `TaskProgressModel` and store progress information into `TaskModel`
+* [v0.4.6 - 03.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.5...v0.4.6)
+ * [Display task desc or name in TaskAdmin](https://github.com/boxine/django-huey-monitor/pull/72) (contributed by [Skrattoune](https://github.com/Skrattoune))
+ * update requirements
+ * use [Darker](https://github.com/akaihola/darker) as code formatter
+ * Check linting via PyTest plugins
+* [v0.4.5 - 28.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.4...v0.4.5)
+ * Fix [#46](https://github.com/boxine/django-huey-monitor/issues/46) by increment existing TaskProgressModel instances (based on [contribution](https://github.com/boxine/django-huey-monitor/pull/67) by [Skrattoune](https://github.com/Skrattoune))
+* [v0.4.4 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.3...v0.4.4)
+ * Add missing `huey_monitor.css` file
+* [v0.4.3 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.2...v0.4.3)
+ * Add temporary `cumulate2parents` flag to `ProcessInfo` ([contributed by formacube](https://github.com/boxine/django-huey-monitor/pull/44))
+* [v0.4.2 - 25.08.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.1...v0.4.2)
+ * suppress the default_app_config attribute in Django 3.2+ (contributed by [Jonas Svarvaa](https://github.com/xolan))
+* [v0.4.1 - 02.06.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.0...v0.4.1)
+ * Bugfix `ProcessInfo.__str__()`
+ * [#27](https://github.com/boxine/django-huey-monitor/issues/27) Check 'desc' length in `ProcessInfo`
+ * Remove test against Django 3.0 and add tests with Django 3.2
+ * Bugfix local `tox` runs and use different Python versions
+* [v0.4.0 - 21.05.2020](https://github.com/boxine/django-huey-monitor/compare/v0.3.0...v0.4.0)
+ * bx_py_utils was split and Django related stuff moved into: https://github.com/boxine/bx_django_utils
+* [v0.3.0 - 22.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.2.0...v0.3.0)
+ * Store and display running task progress information a little bit as [tqdm](https://pypi.org/project/tqdm/) [#17](https://github.com/boxine/django-huey-monitor/issues/17)
+* [v0.2.0 - 17.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.1.0...v0.2.0)
+ * Store "parent_task" information for main-/sub-tasks
+* [v0.1.0 - 21.12.2020](https://github.com/boxine/django-huey-monitor/compare/v0.0.1...v0.1.0)
+ * Work-a-round if a Huey worker died
+ * Fix missing translations from bx_py_utils in test project
+ * Simulate a cluster of Huey worker via docker and the test project
+* v0.0.1 - 15.12.2021
+ * initial release
+
+## License
+
+[GPL](LICENSE). Patches welcome!
+
+
+## Links
+
+* https://pypi.org/project/django-huey-monitor/
+
+
+
+%package -n python3-django-huey-monitor
+Summary: Django based tool for monitoring huey task queue: https://github.com/coleifer/huey
+Provides: python-django-huey-monitor
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-huey-monitor
+# django-huey-monitor
+
+Django based tool for monitoring [huey task queue](https://github.com/coleifer/huey)
+
+Current implementation will just store all Huey task signals into the database
+and display them in the Django admin.
+
+[![pytest](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml/badge.svg?branch=master)](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml) [![Coverage Status on codecov.io](https://codecov.io/gh/boxine/django-huey-monitor/branch/master/graph/badge.svg)](https://codecov.io/gh/boxine/django-huey-monitor)
+
+[![django-huey-monitor @ PyPi](https://img.shields.io/pypi/v/django-huey-monitor?label=django-huey-monitor%20%40%20PyPi)](https://pypi.org/project/django-huey-monitor/)
+[![Python Versions](https://img.shields.io/pypi/pyversions/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/pyproject.toml)
+[![License GPL](https://img.shields.io/pypi/l/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/LICENSE)
+
+
+## Quickstart
+
+```bash
+pip install django-huey-monitor
+```
+
+```python
+INSTALLED_APPS = [
+ #...
+ 'bx_django_utils', # https://github.com/boxine/bx_django_utils
+ 'huey_monitor',
+ #...
+]
+```
+
+Note: You must normally not change your Huey tasks.
+
+### Collect main-/sub-tasks
+
+Huey monitor model can store information about task hierarchy. But this information can't be collected automatically.
+You have to store these information in your Task code.
+
+e.g.:
+
+```python
+@task(context=True)
+def sub_task(task, parent_task_id, chunk_data):
+ # Save the task hierarchy by:
+ TaskModel.objects.set_parent_task(
+ main_task_id=parent_task_id,
+ sub_task_id=task.id,
+ )
+ # ... do something with e.g.: chunk_data ...
+
+
+@task(context=True)
+def main_task(task):
+ for chunk_data in something:
+ sub_task(parent_task_id=task.id, chunk_data=chunk_data)
+```
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+### Collect progress information
+
+Running task can store progress information in a similar way as [tqdm](https://pypi.org/project/tqdm/).
+So it's possible to see the progress in admin.
+
+Minimal example:
+
+```python
+@task(context=True)
+def foobar_task(task, list_to_process):
+ process_info = ProcessInfo(
+ task,
+ desc='A description of this Job',
+ total=len(list_to_process)
+ )
+
+ for item in list_to_process:
+ # ...to something with the {item}...
+ process_info.update(n=1) # add the information that one item was processed
+```
+
+It is also possible to divide the work to several tasks and collect information about the processing of main-/sub-tasks.
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+## run test project
+
+Note: You can quickly test Huey Monitor with the test project, e.g:
+
+```bash
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+or in an isolated Docker container:
+```bash
+~/django-huey-monitor$ make up
+```
+More info see below.
+
+# Screenshots
+
+(More Screenshots here: [boxine.github.io/django-huey-monitor/](https://boxine.github.io/django-huey-monitor/))
+
+### 2021-02-22-v030-task-details.png
+
+![2021-02-22-v030-task-details.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-task-details.png)
+
+### 2021-02-22-v030-progress-info1.png
+
+![2021-02-22-v030-progress-info1.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-progress-info1.png)
+
+
+## developing
+
+* install docker
+* clone the project
+* start the container
+
+To start developing e.g.:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ make
+help List all commands
+install-poetry install or update poetry via pip
+install install via poetry
+update Update the dependencies as according to the pyproject.toml file
+lint Run code formatters and linter
+fix-code-style Fix code formatting
+tox-listenvs List all tox test environments
+tox Run pytest via tox with all environments
+pytest Run pytest
+pytest-ci Run pytest with CI settings
+publish Release new version to PyPi
+makemessages Make and compile locales message files
+clean Remove created files from the test project (e.g.: SQlite, static files)
+build Update/Build docker services
+up Start docker containers
+down Stop all containers
+shell_django go into a interactive bash shell in Django container
+shell_huey go into a interactive bash shell in Huey worker container
+logs Display and follow docker logs
+reload_django Reload the Django dev server
+reload_huey Reload the Huey worker
+restart Restart the containers
+fire_test_tasks Call "fire_test_tasks" manage command to create some Huey Tasks
+
+~/django-huey-monitor$ make install-poetry
+~/django-huey-monitor$ make install
+~/django-huey-monitor$ make up
+```
+
+
+It's also possible to run the test setup with SQLite and Huey immediate setup
+without docker:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+
+
+## Backwards-incompatible changes
+
+
+### Version compatibility
+
+| huey-monitor | Django | Python
+|--------------|------------------|------------------------
+| >v0.6.0 | v3.2, v4.0, v4.1 | v3.9, v3.10, v3.11
+| >v0.5.0 | v2.2, v3.1, v3.2 | v3.7, v3.8, v3.9
+| <=v0.4.0 | v2.2, v3.0, v3.1 | v3.7, v3.8, v3.9
+
+
+### v0.5.0
+
+Change CI and remove tests against Django 3.0, but add test run with Django v3.2
+
+### v0.3.0 -> v0.4.0 - Outsourcing Django stuff
+
+[bx_py_utils](https://github.com/boxine/bx_py_utils) was split and Django related stuff moved into: [bx_django_utils](https://github.com/boxine/bx_django_utils)
+
+You must change your Django settings and replace the app name:
+```diff
+ INSTALLED_APPS = [
+ #...
+- 'bx_py_utils',
++ 'bx_django_utils',
+ 'huey_monitor',
+ #...
+ ]
+```
+
+
+## History
+
+* [dev](https://github.com/boxine/django-huey-monitor/compare/v0.6.0...master)
+ * _tbc_
+* [v0.6.0 - 09.01.2023](https://github.com/boxine/django-huey-monitor/compare/v0.5.0...v0.6.0)
+ * Test against Django v3.2, v4.0, v4.1 and Python v3.9 - v3.11
+ * Optimize Admin change list ([contributed by henribru](https://github.com/boxine/django-huey-monitor/pull/110))
+ * Order sub-tasks chronologically in admin ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/90))
+ * displaying progression for parent_tasks ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/91))
+ * Delegating set_parent_task to `ProcessInfo.__init__` ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/111))
+ * Fix #27 auto crop overlong process info description
+ * NEW #102 Unlock all tasks via change list object tool link
+ * Fix #81 Expand `TaskModel.desc` max. length and make `SignalInfoModel.exception_line` optional
+ * Update docker test setup
+* [v0.5.0 - 10.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.6...v0.5.0)
+ * Refactor models: Remove `TaskProgressModel` and store progress information into `TaskModel`
+* [v0.4.6 - 03.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.5...v0.4.6)
+ * [Display task desc or name in TaskAdmin](https://github.com/boxine/django-huey-monitor/pull/72) (contributed by [Skrattoune](https://github.com/Skrattoune))
+ * update requirements
+ * use [Darker](https://github.com/akaihola/darker) as code formatter
+ * Check linting via PyTest plugins
+* [v0.4.5 - 28.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.4...v0.4.5)
+ * Fix [#46](https://github.com/boxine/django-huey-monitor/issues/46) by increment existing TaskProgressModel instances (based on [contribution](https://github.com/boxine/django-huey-monitor/pull/67) by [Skrattoune](https://github.com/Skrattoune))
+* [v0.4.4 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.3...v0.4.4)
+ * Add missing `huey_monitor.css` file
+* [v0.4.3 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.2...v0.4.3)
+ * Add temporary `cumulate2parents` flag to `ProcessInfo` ([contributed by formacube](https://github.com/boxine/django-huey-monitor/pull/44))
+* [v0.4.2 - 25.08.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.1...v0.4.2)
+ * suppress the default_app_config attribute in Django 3.2+ (contributed by [Jonas Svarvaa](https://github.com/xolan))
+* [v0.4.1 - 02.06.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.0...v0.4.1)
+ * Bugfix `ProcessInfo.__str__()`
+ * [#27](https://github.com/boxine/django-huey-monitor/issues/27) Check 'desc' length in `ProcessInfo`
+ * Remove test against Django 3.0 and add tests with Django 3.2
+ * Bugfix local `tox` runs and use different Python versions
+* [v0.4.0 - 21.05.2020](https://github.com/boxine/django-huey-monitor/compare/v0.3.0...v0.4.0)
+ * bx_py_utils was split and Django related stuff moved into: https://github.com/boxine/bx_django_utils
+* [v0.3.0 - 22.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.2.0...v0.3.0)
+ * Store and display running task progress information a little bit as [tqdm](https://pypi.org/project/tqdm/) [#17](https://github.com/boxine/django-huey-monitor/issues/17)
+* [v0.2.0 - 17.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.1.0...v0.2.0)
+ * Store "parent_task" information for main-/sub-tasks
+* [v0.1.0 - 21.12.2020](https://github.com/boxine/django-huey-monitor/compare/v0.0.1...v0.1.0)
+ * Work-a-round if a Huey worker died
+ * Fix missing translations from bx_py_utils in test project
+ * Simulate a cluster of Huey worker via docker and the test project
+* v0.0.1 - 15.12.2021
+ * initial release
+
+## License
+
+[GPL](LICENSE). Patches welcome!
+
+
+## Links
+
+* https://pypi.org/project/django-huey-monitor/
+
+
+
+%package help
+Summary: Development documents and examples for django-huey-monitor
+Provides: python3-django-huey-monitor-doc
+%description help
+# django-huey-monitor
+
+Django based tool for monitoring [huey task queue](https://github.com/coleifer/huey)
+
+Current implementation will just store all Huey task signals into the database
+and display them in the Django admin.
+
+[![pytest](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml/badge.svg?branch=master)](https://github.com/boxine/django-huey-monitor/actions/workflows/pythonapp.yml) [![Coverage Status on codecov.io](https://codecov.io/gh/boxine/django-huey-monitor/branch/master/graph/badge.svg)](https://codecov.io/gh/boxine/django-huey-monitor)
+
+[![django-huey-monitor @ PyPi](https://img.shields.io/pypi/v/django-huey-monitor?label=django-huey-monitor%20%40%20PyPi)](https://pypi.org/project/django-huey-monitor/)
+[![Python Versions](https://img.shields.io/pypi/pyversions/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/pyproject.toml)
+[![License GPL](https://img.shields.io/pypi/l/django-huey-monitor)](https://gitlab.com/boxine/django-huey-monitor/-/blob/main/LICENSE)
+
+
+## Quickstart
+
+```bash
+pip install django-huey-monitor
+```
+
+```python
+INSTALLED_APPS = [
+ #...
+ 'bx_django_utils', # https://github.com/boxine/bx_django_utils
+ 'huey_monitor',
+ #...
+]
+```
+
+Note: You must normally not change your Huey tasks.
+
+### Collect main-/sub-tasks
+
+Huey monitor model can store information about task hierarchy. But this information can't be collected automatically.
+You have to store these information in your Task code.
+
+e.g.:
+
+```python
+@task(context=True)
+def sub_task(task, parent_task_id, chunk_data):
+ # Save the task hierarchy by:
+ TaskModel.objects.set_parent_task(
+ main_task_id=parent_task_id,
+ sub_task_id=task.id,
+ )
+ # ... do something with e.g.: chunk_data ...
+
+
+@task(context=True)
+def main_task(task):
+ for chunk_data in something:
+ sub_task(parent_task_id=task.id, chunk_data=chunk_data)
+```
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+### Collect progress information
+
+Running task can store progress information in a similar way as [tqdm](https://pypi.org/project/tqdm/).
+So it's possible to see the progress in admin.
+
+Minimal example:
+
+```python
+@task(context=True)
+def foobar_task(task, list_to_process):
+ process_info = ProcessInfo(
+ task,
+ desc='A description of this Job',
+ total=len(list_to_process)
+ )
+
+ for item in list_to_process:
+ # ...to something with the {item}...
+ process_info.update(n=1) # add the information that one item was processed
+```
+
+It is also possible to divide the work to several tasks and collect information about the processing of main-/sub-tasks.
+
+Working example can be found in the test app here: [huey_monitor_tests/test_app/tasks.py](https://github.com/boxine/django-huey-monitor/blob/master/huey_monitor_tests/test_app/tasks.py)
+
+
+## run test project
+
+Note: You can quickly test Huey Monitor with the test project, e.g:
+
+```bash
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+or in an isolated Docker container:
+```bash
+~/django-huey-monitor$ make up
+```
+More info see below.
+
+# Screenshots
+
+(More Screenshots here: [boxine.github.io/django-huey-monitor/](https://boxine.github.io/django-huey-monitor/))
+
+### 2021-02-22-v030-task-details.png
+
+![2021-02-22-v030-task-details.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-task-details.png)
+
+### 2021-02-22-v030-progress-info1.png
+
+![2021-02-22-v030-progress-info1.png](https://raw.githubusercontent.com/boxine/django-huey-monitor/gh-pages/2021-02-22-v030-progress-info1.png)
+
+
+## developing
+
+* install docker
+* clone the project
+* start the container
+
+To start developing e.g.:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ make
+help List all commands
+install-poetry install or update poetry via pip
+install install via poetry
+update Update the dependencies as according to the pyproject.toml file
+lint Run code formatters and linter
+fix-code-style Fix code formatting
+tox-listenvs List all tox test environments
+tox Run pytest via tox with all environments
+pytest Run pytest
+pytest-ci Run pytest with CI settings
+publish Release new version to PyPi
+makemessages Make and compile locales message files
+clean Remove created files from the test project (e.g.: SQlite, static files)
+build Update/Build docker services
+up Start docker containers
+down Stop all containers
+shell_django go into a interactive bash shell in Django container
+shell_huey go into a interactive bash shell in Huey worker container
+logs Display and follow docker logs
+reload_django Reload the Django dev server
+reload_huey Reload the Huey worker
+restart Restart the containers
+fire_test_tasks Call "fire_test_tasks" manage command to create some Huey Tasks
+
+~/django-huey-monitor$ make install-poetry
+~/django-huey-monitor$ make install
+~/django-huey-monitor$ make up
+```
+
+
+It's also possible to run the test setup with SQLite and Huey immediate setup
+without docker:
+
+```bash
+~$ git clone https://github.com/boxine/django-huey-monitor.git
+~$ cd django-huey-monitor
+~/django-huey-monitor$ ./manage.sh run_testserver
+```
+
+
+## Backwards-incompatible changes
+
+
+### Version compatibility
+
+| huey-monitor | Django | Python
+|--------------|------------------|------------------------
+| >v0.6.0 | v3.2, v4.0, v4.1 | v3.9, v3.10, v3.11
+| >v0.5.0 | v2.2, v3.1, v3.2 | v3.7, v3.8, v3.9
+| <=v0.4.0 | v2.2, v3.0, v3.1 | v3.7, v3.8, v3.9
+
+
+### v0.5.0
+
+Change CI and remove tests against Django 3.0, but add test run with Django v3.2
+
+### v0.3.0 -> v0.4.0 - Outsourcing Django stuff
+
+[bx_py_utils](https://github.com/boxine/bx_py_utils) was split and Django related stuff moved into: [bx_django_utils](https://github.com/boxine/bx_django_utils)
+
+You must change your Django settings and replace the app name:
+```diff
+ INSTALLED_APPS = [
+ #...
+- 'bx_py_utils',
++ 'bx_django_utils',
+ 'huey_monitor',
+ #...
+ ]
+```
+
+
+## History
+
+* [dev](https://github.com/boxine/django-huey-monitor/compare/v0.6.0...master)
+ * _tbc_
+* [v0.6.0 - 09.01.2023](https://github.com/boxine/django-huey-monitor/compare/v0.5.0...v0.6.0)
+ * Test against Django v3.2, v4.0, v4.1 and Python v3.9 - v3.11
+ * Optimize Admin change list ([contributed by henribru](https://github.com/boxine/django-huey-monitor/pull/110))
+ * Order sub-tasks chronologically in admin ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/90))
+ * displaying progression for parent_tasks ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/91))
+ * Delegating set_parent_task to `ProcessInfo.__init__` ([contributed by Skrattoune](https://github.com/boxine/django-huey-monitor/pull/111))
+ * Fix #27 auto crop overlong process info description
+ * NEW #102 Unlock all tasks via change list object tool link
+ * Fix #81 Expand `TaskModel.desc` max. length and make `SignalInfoModel.exception_line` optional
+ * Update docker test setup
+* [v0.5.0 - 10.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.6...v0.5.0)
+ * Refactor models: Remove `TaskProgressModel` and store progress information into `TaskModel`
+* [v0.4.6 - 03.02.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.5...v0.4.6)
+ * [Display task desc or name in TaskAdmin](https://github.com/boxine/django-huey-monitor/pull/72) (contributed by [Skrattoune](https://github.com/Skrattoune))
+ * update requirements
+ * use [Darker](https://github.com/akaihola/darker) as code formatter
+ * Check linting via PyTest plugins
+* [v0.4.5 - 28.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.4...v0.4.5)
+ * Fix [#46](https://github.com/boxine/django-huey-monitor/issues/46) by increment existing TaskProgressModel instances (based on [contribution](https://github.com/boxine/django-huey-monitor/pull/67) by [Skrattoune](https://github.com/Skrattoune))
+* [v0.4.4 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.3...v0.4.4)
+ * Add missing `huey_monitor.css` file
+* [v0.4.3 - 07.01.2022](https://github.com/boxine/django-huey-monitor/compare/v0.4.2...v0.4.3)
+ * Add temporary `cumulate2parents` flag to `ProcessInfo` ([contributed by formacube](https://github.com/boxine/django-huey-monitor/pull/44))
+* [v0.4.2 - 25.08.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.1...v0.4.2)
+ * suppress the default_app_config attribute in Django 3.2+ (contributed by [Jonas Svarvaa](https://github.com/xolan))
+* [v0.4.1 - 02.06.2020](https://github.com/boxine/django-huey-monitor/compare/v0.4.0...v0.4.1)
+ * Bugfix `ProcessInfo.__str__()`
+ * [#27](https://github.com/boxine/django-huey-monitor/issues/27) Check 'desc' length in `ProcessInfo`
+ * Remove test against Django 3.0 and add tests with Django 3.2
+ * Bugfix local `tox` runs and use different Python versions
+* [v0.4.0 - 21.05.2020](https://github.com/boxine/django-huey-monitor/compare/v0.3.0...v0.4.0)
+ * bx_py_utils was split and Django related stuff moved into: https://github.com/boxine/bx_django_utils
+* [v0.3.0 - 22.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.2.0...v0.3.0)
+ * Store and display running task progress information a little bit as [tqdm](https://pypi.org/project/tqdm/) [#17](https://github.com/boxine/django-huey-monitor/issues/17)
+* [v0.2.0 - 17.02.2020](https://github.com/boxine/django-huey-monitor/compare/v0.1.0...v0.2.0)
+ * Store "parent_task" information for main-/sub-tasks
+* [v0.1.0 - 21.12.2020](https://github.com/boxine/django-huey-monitor/compare/v0.0.1...v0.1.0)
+ * Work-a-round if a Huey worker died
+ * Fix missing translations from bx_py_utils in test project
+ * Simulate a cluster of Huey worker via docker and the test project
+* v0.0.1 - 15.12.2021
+ * initial release
+
+## License
+
+[GPL](LICENSE). Patches welcome!
+
+
+## Links
+
+* https://pypi.org/project/django-huey-monitor/
+
+
+
+%prep
+%autosetup -n django-huey-monitor-0.6.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-django-huey-monitor -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..1ee12aa
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d68726d5fa055d1f7a1129a01a2dd400 django_huey_monitor-0.6.0.tar.gz