A Command line tool for the dicom processor library
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcm_processor_job_scheduler-0.0.1.tar.gz.
File metadata
- Download URL: dcm_processor_job_scheduler-0.0.1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
790b1d2bd10530a344ffc69aa833c23108aeb839c9e6e698d99ae51d21669bcb
|
|
| MD5 |
cba4df34d5c6eaf425683bb9aef42329
|
|
| BLAKE2b-256 |
2a7df7675abdc3d0c7e091d8c7c2fe691a09ba435169feab9960863ceea9470f
|
File details
Details for the file dcm_processor_job_scheduler-0.0.1-py3-none-any.whl.
File metadata
- Download URL: dcm_processor_job_scheduler-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8203816ad49cd264abbf1425b9d5663ed7a4ff04134e0222fed8e3d6fa97c3ad
|
|
| MD5 |
5a6cd514707f6ab6cc8dd5583115319d
|
|
| BLAKE2b-256 |
ac22205bf5495f8054efca6b8854d079a3228d568d95df029f0db888c59e5042
|