Making DaggyTaskRunner block until a runner is available
This commit is contained in:
@@ -57,7 +57,6 @@ namespace daggy::executors::task {
|
||||
|
||||
private:
|
||||
void monitor();
|
||||
void dispatchQueuedTasks();
|
||||
|
||||
struct RunningTask
|
||||
{
|
||||
@@ -68,31 +67,16 @@ namespace daggy::executors::task {
|
||||
daggy_runner::Capacity resources;
|
||||
};
|
||||
|
||||
struct QueuedTask
|
||||
{
|
||||
Task task;
|
||||
RunningTask rt;
|
||||
};
|
||||
|
||||
std::mutex queuedGuard_;
|
||||
std::condition_variable queuedCV_;
|
||||
std::deque<QueuedTask> queuedTasks_;
|
||||
|
||||
// Resolves jobs through polling
|
||||
std::atomic<bool> running_;
|
||||
bool promptTask_;
|
||||
std::thread monitorWorker_;
|
||||
std::thread dispatchWorker_;
|
||||
|
||||
struct RunnerCapacity
|
||||
{
|
||||
daggy_runner::Capacity current;
|
||||
daggy_runner::Capacity total;
|
||||
};
|
||||
RunnerCapacity getRunnerCapacity(const std::string &runnerURL);
|
||||
daggy_runner::Capacity getRunnerCapacity(const std::string &runnerURL);
|
||||
|
||||
std::mutex runnersGuard_;
|
||||
std::unordered_map<std::string, RunnerCapacity> runners_;
|
||||
std::condition_variable runnersCV_;
|
||||
std::unordered_map<std::string, daggy_runner::Capacity> runners_;
|
||||
|
||||
std::mutex rtGuard_;
|
||||
std::unordered_map<std::pair<DAGRunID, std::string>, RunningTask>
|
||||
|
||||
Reference in New Issue
Block a user