Skip to main content

Jentic Apitools Jobs - Async job execution

Project description

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jentic_apitools_jobs-1.0.0a13.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jentic_apitools_jobs-1.0.0a13-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file jentic_apitools_jobs-1.0.0a13.tar.gz.

File metadata

  • Download URL: jentic_apitools_jobs-1.0.0a13.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jentic_apitools_jobs-1.0.0a13.tar.gz
Algorithm Hash digest
SHA256 0c1e1c2105d9cc0fa330cfffb22c64f0bc72f87cb1c8e37ba5719b8bc58c55c6
MD5 27666d5d38fbbf291511d392923ad99b
BLAKE2b-256 57e5d0f258c7c8f592cc55bcaa1bde99046ee534b9c64e4d7c23a5bc1a86a98a

See more details on using hashes here.

File details

Details for the file jentic_apitools_jobs-1.0.0a13-py3-none-any.whl.

File metadata

File hashes

Hashes for jentic_apitools_jobs-1.0.0a13-py3-none-any.whl
Algorithm Hash digest
SHA256 1d0a57ee53a9ca68ee065dfee2aff0822128496a54a26b6090122b4d5ea04323
MD5 4bb7ec5346338697f1d92fe537ac498c
BLAKE2b-256 a40c4e4bc7c529c6e23ebd04269c123b13a4119b67dbad58d98a2c176e43e8f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page