Github   Telegram
Loading...
Searching...
No Matches
periodic_task_control.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <unordered_map>
7#include <unordered_set>
8#include <vector>
9
10#include <userver/concurrent/variable.hpp>
11
12USERVER_NAMESPACE_BEGIN
13
14namespace utils {
15class PeriodicTask;
16} // namespace utils
17
18namespace testsuite {
19
23 public:
24 bool RunPeriodicTask(const std::string& name);
25 void SuspendPeriodicTasks(const std::unordered_set<std::string>& names);
26
27 private:
29
30 void RegisterPeriodicTask(const std::string& name, utils::PeriodicTask& task);
31
32 void UnregisterPeriodicTask(const std::string& name,
34
35 utils::PeriodicTask& FindPeriodicTask(const std::string& name);
36
38 periodic_tasks_;
39};
40
43 public:
45 std::string name, utils::PeriodicTask& task);
47
49 delete;
52 const PeriodicTaskRegistrationHolder&) = delete;
54 delete;
55
56 private:
57 PeriodicTaskControl& periodic_task_control_;
58 std::string name_;
60};
61
62} // namespace testsuite
63
64USERVER_NAMESPACE_END