| calculate_next_cron_run(const cron_schedule &cron, std::chrono::system_clock::time_point from) const -> std::optional< std::chrono::system_clock::time_point > | kcenon::pacs::workflow::task_scheduler | private |
| calculate_next_run(const kcenon::pacs::workflow::schedule &sched, std::chrono::system_clock::time_point from=std::chrono::system_clock::now()) const -> std::optional< std::chrono::system_clock::time_point > | kcenon::pacs::workflow::task_scheduler | private |
| cancel_task(const task_id &id) -> bool | kcenon::pacs::workflow::task_scheduler | |
| clear_history(const task_id &id, std::size_t keep_last=0) | kcenon::pacs::workflow::task_scheduler | |
| config_ | kcenon::pacs::workflow::task_scheduler | private |
| create_archive_callback(const archive_config &config) -> task_callback_with_result | kcenon::pacs::workflow::task_scheduler | private |
| create_cleanup_callback(const cleanup_config &config) -> task_callback_with_result | kcenon::pacs::workflow::task_scheduler | private |
| create_verification_callback(const verification_config &config) -> task_callback_with_result | kcenon::pacs::workflow::task_scheduler | private |
| cv_ | kcenon::pacs::workflow::task_scheduler | private |
| database_ | kcenon::pacs::workflow::task_scheduler | private |
| deserialize_tasks(const std::string &json) -> std::size_t | kcenon::pacs::workflow::task_scheduler | private |
| execute_cycle() | kcenon::pacs::workflow::task_scheduler | private |
| execute_task(scheduled_task &task) -> task_execution_record | kcenon::pacs::workflow::task_scheduler | private |
| execution_history_ | kcenon::pacs::workflow::task_scheduler | private |
| executor_ | kcenon::pacs::workflow::task_scheduler | private |
| file_storage_ | kcenon::pacs::workflow::task_scheduler | private |
| generate_execution_id() const -> std::string | kcenon::pacs::workflow::task_scheduler | private |
| generate_task_id() const -> task_id | kcenon::pacs::workflow::task_scheduler | private |
| get_execution_history(const task_id &id, std::size_t limit=100) const -> std::vector< task_execution_record > | kcenon::pacs::workflow::task_scheduler | |
| get_recent_executions(std::size_t limit=100) const -> std::vector< task_execution_record > | kcenon::pacs::workflow::task_scheduler | |
| get_stats() const -> scheduler_stats | kcenon::pacs::workflow::task_scheduler | |
| get_task(const task_id &id) const -> std::optional< scheduled_task > | kcenon::pacs::workflow::task_scheduler | |
| history_mutex_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| is_running() const noexcept -> bool | kcenon::pacs::workflow::task_scheduler | |
| list_tasks() const -> std::vector< scheduled_task > | kcenon::pacs::workflow::task_scheduler | |
| list_tasks(task_type type) const -> std::vector< scheduled_task > | kcenon::pacs::workflow::task_scheduler | |
| list_tasks(task_state state) const -> std::vector< scheduled_task > | kcenon::pacs::workflow::task_scheduler | |
| load_tasks() -> std::size_t | kcenon::pacs::workflow::task_scheduler | |
| mutex_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| next_execution_id_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| next_task_id_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| operator=(const task_scheduler &)=delete | kcenon::pacs::workflow::task_scheduler | |
| operator=(task_scheduler &&)=delete | kcenon::pacs::workflow::task_scheduler | |
| pause_task(const task_id &id) -> bool | kcenon::pacs::workflow::task_scheduler | |
| pending_count() const noexcept -> std::size_t | kcenon::pacs::workflow::task_scheduler | |
| record_execution(const task_id &task_id, const task_execution_record &record) | kcenon::pacs::workflow::task_scheduler | private |
| resume_task(const task_id &id) -> bool | kcenon::pacs::workflow::task_scheduler | |
| run_loop() | kcenon::pacs::workflow::task_scheduler | private |
| running_ | kcenon::pacs::workflow::task_scheduler | private |
| running_count() const noexcept -> std::size_t | kcenon::pacs::workflow::task_scheduler | |
| running_count_ | kcenon::pacs::workflow::task_scheduler | private |
| save_tasks() const -> bool | kcenon::pacs::workflow::task_scheduler | |
| schedule(const std::string &name, const std::string &description, std::chrono::seconds interval, task_callback_with_result callback) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule(const std::string &name, const std::string &description, const cron_schedule &cron_expr, task_callback_with_result callback) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule(scheduled_task task) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule_archive(const archive_config &config) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule_cleanup(const cleanup_config &config) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule_once(const std::string &name, const std::string &description, std::chrono::system_clock::time_point execute_at, task_callback_with_result callback) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| schedule_verification(const verification_config &config) -> task_id | kcenon::pacs::workflow::task_scheduler | |
| scheduler_thread_ | kcenon::pacs::workflow::task_scheduler | private |
| serialize_tasks() const -> std::string | kcenon::pacs::workflow::task_scheduler | private |
| set_error_callback(task_scheduler_config::task_error_callback callback) | kcenon::pacs::workflow::task_scheduler | |
| set_task_complete_callback(task_scheduler_config::task_complete_callback callback) | kcenon::pacs::workflow::task_scheduler | |
| start() | kcenon::pacs::workflow::task_scheduler | |
| start_time_ | kcenon::pacs::workflow::task_scheduler | private |
| stats_ | kcenon::pacs::workflow::task_scheduler | private |
| stats_mutex_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| stop(bool wait_for_completion=true) | kcenon::pacs::workflow::task_scheduler | |
| stop_requested_ | kcenon::pacs::workflow::task_scheduler | private |
| task_scheduler(storage::index_database &database, const task_scheduler_config &config={}) | kcenon::pacs::workflow::task_scheduler | explicit |
| task_scheduler(storage::index_database &database, storage::file_storage &file_storage, std::shared_ptr< kcenon::thread::thread_pool > thread_pool, const task_scheduler_config &config={}) | kcenon::pacs::workflow::task_scheduler | |
| task_scheduler(storage::index_database &database, storage::file_storage &file_storage, std::shared_ptr< kcenon::common::interfaces::IExecutor > executor, const task_scheduler_config &config={}) | kcenon::pacs::workflow::task_scheduler | |
| task_scheduler(const task_scheduler &)=delete | kcenon::pacs::workflow::task_scheduler | |
| task_scheduler(task_scheduler &&)=delete | kcenon::pacs::workflow::task_scheduler | |
| tasks_ | kcenon::pacs::workflow::task_scheduler | private |
| tasks_mutex_ | kcenon::pacs::workflow::task_scheduler | mutableprivate |
| thread_pool_ | kcenon::pacs::workflow::task_scheduler | private |
| trigger_task(const task_id &id) -> bool | kcenon::pacs::workflow::task_scheduler | |
| update_schedule(const task_id &id, const kcenon::pacs::workflow::schedule &new_schedule) -> bool | kcenon::pacs::workflow::task_scheduler | |
| update_stats(const task_execution_record &record) | kcenon::pacs::workflow::task_scheduler | private |
| ~task_scheduler() | kcenon::pacs::workflow::task_scheduler | |