ores.scheduler.service
Table of Contents
2. Summary
ores.scheduler.service is the NATS service entrypoint for the scheduler
domain. It reads configuration, opens database and NATS connections, starts
the cron-based scheduler loop from ores.scheduler.core, registers all
message handlers, and runs the event loop. All scheduling logic lives in
ores.scheduler.core.
3. Inputs
- Configuration file: NATS server URL, PostgreSQL connection string, and environment settings.
- NATS request messages for job-definition and job-instance management.
- System clock — the scheduler loop fires due jobs based on cron expressions.
4. Outputs
- A running NATS service handling all scheduler management operations.
- Periodic job executions (SQL, NATS-publish, MQ actions) fired on schedule.
- NATS response messages returned to callers.
- Structured logs via
ores.logging.
5. Entry points
src/main.cpp— process entry point.src/app/— application bootstrap, starts the scheduler loop.src/config/— configuration parsing and validation.
6. Dependencies
ores.scheduler.core— all handlers, job-dispatch logic, and cron loop.ores.scheduler.api— shared protocol types.ores.logging— structured logging infrastructure.nats.c— NATS client for connection management.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.scheduler — component group overview.
- ores.scheduler.core — all business logic for the scheduler domain.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.service.lib
ores.security.lib
ores.scheduler.core.lib
ores.iam.client.lib
ores.nats.lib
ores.database.lib
ores.utility.lib
ores.telemetry.core.lib
PRIVATE
ores.eventing.api.lib
ores.eventing.core.lib)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.utility.lib
ores.testing.lib
ores.logging.lib
Catch2::Catch2
faker-cxx::faker-cxx
Threads::Threads)
