62 default:
return "unknown";
DAG-aware job with dependency tracking and unique identifiers.
Core threading foundation of the thread system library.
auto dag_failure_policy_to_string(dag_failure_policy policy) -> std::string
Convert dag_failure_policy to string representation.
dag_job_state
State of a job in the DAG scheduler.
std::uint64_t job_id
Unique job identifier for DAG scheduler.
dag_failure_policy
Defines how the DAG scheduler handles job failures.
@ retry
Retry failed job (with max retries)
@ fallback
Execute fallback job if available.
@ continue_others
Continue unrelated jobs, skip dependents.
@ fail_fast
Cancel all dependents immediately on failure.
Configuration options for the DAG scheduler.
bool detect_cycles
Whether to detect and reject cycles.
std::function< void(job_id, dag_job_state, dag_job_state)> state_callback
Callback for state changes.
std::size_t max_retries
Maximum number of retry attempts for failed jobs.
std::function< void(job_id)> completion_callback
Callback for job completion.
bool execute_in_parallel
Whether to execute ready jobs in parallel.
dag_failure_policy failure_policy
How to handle job failures.
std::function< void(job_id, const std::string &)> error_callback
Callback for job errors.
std::chrono::milliseconds retry_delay
Delay between retry attempts.
Statistics about DAG execution.
auto success_rate() const -> double
Calculate success rate.
std::chrono::milliseconds critical_path_time
Time of longest path.
std::chrono::milliseconds total_execution_time
Total wall-clock time.
std::size_t pending_jobs
Number of pending jobs.
std::size_t cancelled_jobs
Number of cancelled jobs.
std::size_t total_jobs
Total number of jobs in DAG.
auto all_succeeded() const -> bool
Check if all jobs succeeded.
std::size_t skipped_jobs
Number of skipped jobs.
double parallelism_efficiency
Actual vs theoretical speedup.
std::size_t failed_jobs
Number of failed jobs.
auto is_complete() const -> bool
Check if all jobs are complete (success or failure)
std::size_t running_jobs
Number of currently running jobs.
std::size_t completed_jobs
Number of successfully completed jobs.