Skip to main content

CHP capability adapter — run any capability as a polled background job

Project description

chp-adapter-jobs

Run any CHP capability as a polled background job. Built for heavy or long-running capabilities — e.g. huggingface.generate_image (minutes on MPS) — that outlive HTTP request timeouts.

How it works

submit runs the target capability via host.ainvoke inside a ThreadPoolExecutor and returns a job_id immediately. The target runs to completion server-side regardless of client timeouts, and — because the SQLite evidence store is thread-safe — keeps its own full evidence chain. This adapter emits only lightweight job-lifecycle events, never the target's payload or result.

Capabilities

Capability Description
chp.adapters.jobs.submit Submit {capability_id, payload}; returns a job_id.
chp.adapters.jobs.status Poll lifecycle state: submitted / running / completed / failed + duration.
chp.adapters.jobs.result Fetch a completed job's result data (ready: false while running).
chp.adapters.jobs.list List all jobs and their state.

Example: async image generation

// 1. submit — returns immediately
POST chp.adapters.jobs.submit
{ "capability_id": "chp.adapters.huggingface.generate_image",
  "payload": { "prompt": "a serene mountain lake", "output_path": "/tmp/out.png" } }
// → { "job_id": "job_ab12…", "status": "submitted" }

// 2. poll
POST chp.adapters.jobs.status   { "job_id": "job_ab12…" }   // → running … completed

// 3. fetch result
POST chp.adapters.jobs.result   { "job_id": "job_ab12…" }
// → { "ready": true, "success": true, "result": { "output_path": "/tmp/out.png", … } }

Config

Field Default Meaning
max_workers 2 Thread pool size.
allowed_capabilities None Allowlist of submittable capability ids (None = any).

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

chp_adapter_jobs-0.10.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file chp_adapter_jobs-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chp_adapter_jobs-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11b6ce879861c8e00cef48944075c9c752860c6e147f5715c5634e0f70a05bc8
MD5 017b8b6235470006eadf2339f5d1c248
BLAKE2b-256 6fa4c3ebbf6788d5a661cce24bddbb98b2227f64cf61b1027fd467fbca04f185

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