Skip to main content

Jentic Apitools Jobs - Async job execution

Project description

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

uv add 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

uv run --package jobs pytest packages/jobs/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-0.0.0a9.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-0.0.0a9-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file jentic_apitools_jobs-0.0.0a9.tar.gz.

File metadata

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

File hashes

Hashes for jentic_apitools_jobs-0.0.0a9.tar.gz
Algorithm Hash digest
SHA256 735747819c9f37b7f1d75114e20f61fdbc0acfb8d309c7e8517b18535df02b7e
MD5 aceee402633d178c14602ae2b047d351
BLAKE2b-256 20c23f162df35b4a800e976dfb029b24708dbb96e6bbf61aec6d2d3ea3779d01

See more details on using hashes here.

File details

Details for the file jentic_apitools_jobs-0.0.0a9-py3-none-any.whl.

File metadata

File hashes

Hashes for jentic_apitools_jobs-0.0.0a9-py3-none-any.whl
Algorithm Hash digest
SHA256 8a0c2c17b5bc0f35e26afaa9240143c80dc0d4ad1cbe26c2d41f0a921cbe22c7
MD5 ca46f1b26f5891df8cf5c6ebe9170f50
BLAKE2b-256 d0f1c4bd282613fcea4ece800a2f621ba2ec9b0213c0e114695871ef0ccafdca

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