o o O o-o o o o o o o
|\ /| / \ o |\ | | | |\ /|
| O | o---o| -o | \ | | | | O |
| | | |o | | \| | | | |
o o o o o-o o o o-o o o
o-o o--o o o o-o
o o | | | | |
| | O--o | | o-o
o o | | | |
o-o o o-o o--o
About
A python based task processing engine backend.
Usage
The intent of this project is to use it as a library to process tasks that conform to a certain style.
A typical stack will include the following components:
graph TD
A[Client Application] -- parses configuration using --> B[Parsing Library]
A -- execute parsed configuration using --> C[magnum-opus]
The client application has to provide the following implementations:
| Base Class | Usage |
|---|---|
LoggerWrapper |
( optional ) Used for logging. If not implemented, log messages from magnum-opus will be printed to STDOUT |
StatePersistance |
( optional ) Used to persist state during the various stages of task execution. Can also be used by TaskProcessor implementation to retrieve previous execution state of any individual task. If not implemented by the client, no persistance functionality will be provided/available. |
TaskProcessor |
( required ) This is the class that implements the logic of processing a given task. No out-of-the-bos task processors exist, so the client must supply it's own. |
The client then creates an instance of Tasks and adds all TaskProcessor implementations before adding Task objects. Finally, the processing is performed by calling the process_context() method of the Tasks instance.
The opus-instrumenta project provides some "standard" TaskProcessor implementations for common types of tasks.
Hello World Example
Here is a really quick "hello world" example that will implement a TaskProcessor that creates a file with the text "Hello World!" in it:
python3 examples/hello_world.py
The example can also be observed as a unit test by running the test file tests/test_hello_world.py
Development Quick Start
Preparing your local system for development:
python3 -m venv venv
. venv/bin/activate
pip3 install coverage build twine
Metadata
Release files for magnum-opus 1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| magnum_opus-1.tar.gz | 39.2 kB | Details |
Release files / magnum_opus-1.tar.gz
| Download URL | magnum_opus-1.tar.gz |
|---|---|
| Size | 39.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e83c3a594571ff9e9674d30531018ac1f83a60dfb7141e15216daba52727603c
|
|
BLAKE2b-256 checksum How to use checksums |
65f2653e26e5babe7971c1e7e962842c1e22043fd5252370c4ee4babc75b4d00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.12
|