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:
- DICOM data is received and stored
- the scheduler detects stable processing candidates
- it evaluates service job definitions and registry callbacks
- it creates queued jobs with dependencies
- 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:
jobNameworkerEntryregistryEntryeventsdependsOnsortPosition
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
- exports
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)
| File | Size | Uploaded | |
|---|---|---|---|
| dcm_processor_job_scheduler-0.0.1.tar.gz | 6.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|