Skip to main content

dcm-processor-job-scheduler

dcm-processor-job-scheduler is the orchestration layer for the dcm-processor platform.

It decides when processing jobs should be created and in what order they should run.

Role In The Bigger Picture

This module sits between ingestion and execution.

Its place in the full flow is:

  1. DICOM data is received and stored
  2. the scheduler detects stable processing candidates
  3. it evaluates service job definitions and registry callbacks
  4. it creates queued jobs with dependencies
  5. workers then execute those jobs

So this package is the coordination engine of the platform.

Main Responsibilities

1. Detect Work To Be Scheduled

The scheduler looks for completed or stable patient data in the database and decides when to begin the processing workflow.

2. Interpret Service Job Definitions

Service packages define jobs in dcm-processor.json.

The scheduler interprets fields such as:

  • jobName
  • workerEntry
  • registryEntry
  • events
  • dependsOn
  • sortPosition

That job metadata becomes the execution plan.

3. Run Registry Callbacks

Before creating a queued job, the scheduler can load the service registry module and run its callback to determine whether a job should be scheduled and which parameters should be added.

4. Build Dependency Chains

The scheduler creates:

  • pre-service jobs
  • event-driven service jobs
  • post-service jobs

It also resolves declared dependencies between jobs so workers process them in a valid order.

5. Emit Worker Queue Jobs

The final output of this module is queued work written through dcm-processor-db-provider.

Those queued jobs are then consumed by the worker runtime.

Key Internal Areas

  • dcm_processor_job_scheduler/job_scheduler.py
    • main scheduling logic
  • dcm_processor_job_scheduler/__init__.py
    • exports JobScheduler

Dependencies On Other Modules

This module depends mainly on:

  • dcm-processor-db-provider
    • for reading services, workers, sessions, and creating queued jobs
  • dcm-processor-utils
    • for shared settings and helpers

It collaborates directly with:

  • dcm-processor-worker
    • by creating jobs whose functions are executed by worker consumers

What This Module Is Not

This package is not:

  • the DICOM listener
  • the worker execution engine
  • the end-user CLI

It is responsible for deciding what should run and when.

Summary

Use this module when you need job orchestration for the dcm-processor platform.

It is the bridge between stored medical data and executable processing jobs.

Release files for dcm-processor-job-scheduler 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dcm-processor-job-scheduler 0.0.1
File Size Uploaded
dcm_processor_job_scheduler-0.0.1.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dcm-processor-job-scheduler 0.0.1
File Interpreter ABI Platform
dcm_processor_job_scheduler-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 13.7 kB

Release files / dcm_processor_job_scheduler-0.0.1.tar.gz

Download URL dcm_processor_job_scheduler-0.0.1.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
790b1d2bd10530a344ffc69aa833c23108aeb839c9e6e698d99ae51d21669bcb
BLAKE2b-256 checksum
How to use checksums
2a7df7675abdc3d0c7e091d8c7c2fe691a09ba435169feab9960863ceea9470f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / dcm_processor_job_scheduler-0.0.1-py3-none-any.whl

Download URL dcm_processor_job_scheduler-0.0.1-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8203816ad49cd264abbf1425b9d5663ed7a4ff04134e0222fed8e3d6fa97c3ad
BLAKE2b-256 checksum
How to use checksums
ac22205bf5495f8054efca6b8854d079a3228d568d95df029f0db888c59e5042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page