This release is a pre-release and may not be stable for production use.
Jentic API Tools - Jobs
Async job execution with pluggable backends for running pipeline operations in the background. Supports in-memory thread pool (default) and optional Redis/Celery distributed execution.
Key Features
The jobs package provides a TaskRunner abstraction with two implementations: ThreadPoolRunner for in-memory execution using a thread pool, and CeleryRunner for distributed execution via Redis and Celery. A create_task_runner factory selects the appropriate runner based on configuration. Job state is tracked through JobStorage (with MemoryJobStorage and Redis-backed implementations). Progress is reported through ProgressReporter objects that support SSE streaming to API clients. Periodic cleanup removes expired jobs and optionally their output directories. Supported JobOperation values are IMPORT, SCORE, IMPROVE, and QA; the corresponding processors (process_import, process_score, process_improve) live in jobs.processors and are dispatched by both the in-memory and Celery runners.
Dependencies
Internal: jentic.apitools.common, jentic.apitools.pipelines. Optional: redis, celery[redis].
Installation
pip install jentic-apitools-jobs
Quick Start
from jentic.apitools.jobs import create_task_runner
from jentic.apitools.common.models import JobOperation
runner = create_task_runner()
runner.storage.create_job("job-1", JobOperation.SCORE)
runner.submit_job("job-1", JobOperation.SCORE, {"spec_url": "https://example.com/api.json"})
Testing
pytest tests -v
Metadata
Release files for jentic-apitools-jobs 1.0.0a25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jentic_apitools_jobs-1.0.0a25.tar.gz | 15.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jentic_apitools_jobs-1.0.0a25-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.1 kB
Release files / jentic_apitools_jobs-1.0.0a25.tar.gz
| Download URL | jentic_apitools_jobs-1.0.0a25.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc8bb4c4f4c15efb41c1362e75804966ba2af6158d87161f3f6358071b7920e4
|
|
BLAKE2b-256 checksum How to use checksums |
001df6d7a310a03de0b81e92e08170e0219b202ba644d92147e7b346b2b906a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / jentic_apitools_jobs-1.0.0a25-py3-none-any.whl
| Download URL | jentic_apitools_jobs-1.0.0a25-py3-none-any.whl |
|---|---|
| Size | 22.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6cd746b6f5a60eca8aa951c1abb4e4ce5cb4f8deb52e97fda1e1f1c9d2067fb
|
|
BLAKE2b-256 checksum How to use checksums |
921781a67dd58188c4ed7df704b4dff8a6408dbd65aa925c73aa518a9ef7e82c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|