PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
task_scheduler_config.h File Reference

Configuration for task scheduler service. More...

#include <chrono>
#include <cstdint>
#include <functional>
#include <map>
#include <optional>
#include <set>
#include <string>
#include <variant>
#include <vector>
Include dependency graph for task_scheduler_config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::workflow::interval_schedule
 Simple interval-based schedule. More...
 
struct  kcenon::pacs::workflow::cron_schedule
 Cron-like schedule expression. More...
 
struct  kcenon::pacs::workflow::one_time_schedule
 One-time execution at specific time. More...
 
struct  kcenon::pacs::workflow::task_execution_record
 Record of a single task execution. More...
 
struct  kcenon::pacs::workflow::scheduled_task
 Scheduled task definition. More...
 
struct  kcenon::pacs::workflow::cleanup_config
 Configuration for cleanup scheduling. More...
 
struct  kcenon::pacs::workflow::archive_config
 Configuration for archive scheduling. More...
 
struct  kcenon::pacs::workflow::verification_config
 Configuration for verification scheduling. More...
 
struct  kcenon::pacs::workflow::task_scheduler_config
 Configuration for the task scheduler service. More...
 
struct  kcenon::pacs::workflow::scheduler_stats
 Statistics for task scheduler operations. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::workflow
 

Typedefs

using kcenon::pacs::workflow::schedule = std::variant<interval_schedule, cron_schedule, one_time_schedule>
 Combined schedule type.
 
using kcenon::pacs::workflow::task_id = std::string
 Unique task identifier.
 
using kcenon::pacs::workflow::task_callback = std::function<bool()>
 Task callback function type.
 
using kcenon::pacs::workflow::task_callback_with_result = std::function<std::optional<std::string>()>
 Task callback with result details.
 

Enumerations

enum class  kcenon::pacs::workflow::task_type { kcenon::pacs::workflow::cleanup , kcenon::pacs::workflow::archive , kcenon::pacs::workflow::verification , kcenon::pacs::workflow::custom }
 Task type enumeration. More...
 
enum class  kcenon::pacs::workflow::task_state {
  kcenon::pacs::workflow::pending , kcenon::pacs::workflow::running , kcenon::pacs::workflow::completed , kcenon::pacs::workflow::failed ,
  kcenon::pacs::workflow::cancelled , kcenon::pacs::workflow::paused
}
 Task execution state. More...
 
enum class  kcenon::pacs::workflow::archive_destination_type {
  kcenon::pacs::workflow::local_path , kcenon::pacs::workflow::network_share , kcenon::pacs::workflow::cloud_s3 , kcenon::pacs::workflow::cloud_azure ,
  kcenon::pacs::workflow::tape
}
 Archive destination type. More...
 

Functions

auto kcenon::pacs::workflow::to_string (task_state state) -> std::string
 Convert task_state to string.
 
auto kcenon::pacs::workflow::to_string (task_type type) -> std::string
 Convert task_type to string.
 

Detailed Description

Configuration for task scheduler service.

This file provides configuration structures for the task_scheduler which schedules and executes recurring maintenance tasks.

See also
SRS-WKF-002 - Task Scheduler Service Specification
Author
kcenon
Since
1.0.0

Definition in file task_scheduler_config.h.