44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
#include <variant>
|
|
#include <unordered_map>
|
|
|
|
#include <rapidjson/document.h>
|
|
|
|
#include "daggy/loggers/dag_run/DAGRunLogger.hpp"
|
|
#include "daggy/executors/task/TaskExecutor.hpp"
|
|
#include "Defines.hpp"
|
|
#include "DAG.hpp"
|
|
|
|
namespace daggy {
|
|
using TaskDAG = DAG<std::string, Task>;
|
|
|
|
std::string globalSub(std::string string, const std::string &pattern, const std::string &replacement);
|
|
|
|
std::vector<Command> expandCommands(const std::vector<std::string> &command, const ParameterValues ¶meters);
|
|
|
|
TaskDAG
|
|
buildDAGFromTasks(TaskList &tasks,
|
|
const std::vector<loggers::dag_run::TaskUpdateRecord> &updates = {});
|
|
|
|
void updateDAGFromTasks(TaskDAG &dag, TaskList &tasks);
|
|
|
|
// Blocking call
|
|
std::vector<AttemptRecord>
|
|
runTask(DAGRunID runID,
|
|
const std::string &taskName,
|
|
const Task &task,
|
|
executors::task::TaskExecutor &executor,
|
|
loggers::dag_run::DAGRunLogger &logger);
|
|
|
|
TaskDAG runDAG(DAGRunID runID,
|
|
executors::task::TaskExecutor &executor,
|
|
loggers::dag_run::DAGRunLogger &logger,
|
|
TaskDAG dag,
|
|
const ParameterValues taskParameters = {});
|
|
|
|
std::ostream &operator<<(std::ostream &os, const TimePoint &tp);
|
|
}
|