This commit is contained in:
parent
f9573142eb
commit
371664ac43
@ -30,6 +30,7 @@
|
|||||||
#include "events/types/service_stop_begin.hpp"
|
#include "events/types/service_stop_begin.hpp"
|
||||||
#include "events/types/service_stop_end.hpp"
|
#include "events/types/service_stop_end.hpp"
|
||||||
#include "utils/tasks.hpp"
|
#include "utils/tasks.hpp"
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
namespace repertory {
|
namespace repertory {
|
||||||
polling polling::instance_;
|
polling polling::instance_;
|
||||||
@ -40,11 +41,12 @@ void polling::frequency_thread(
|
|||||||
|
|
||||||
auto last_run = std::chrono::system_clock::time_point::min();
|
auto last_run = std::chrono::system_clock::time_point::min();
|
||||||
while (not get_stop_requested()) {
|
while (not get_stop_requested()) {
|
||||||
auto elapsed = std::chrono::system_clock::now() - last_run;
|
auto elapsed = std::chrono::duration_cast<std::chrono::seconds>(
|
||||||
|
std::chrono::system_clock::now() - last_run);
|
||||||
auto max_elapsed = std::chrono::seconds(get_frequency_seconds());
|
auto max_elapsed = std::chrono::seconds(get_frequency_seconds());
|
||||||
|
|
||||||
if (std::chrono::duration_cast<std::chrono::seconds>(elapsed) >=
|
if (last_run == std::chrono::system_clock::time_point::min() ||
|
||||||
max_elapsed) {
|
elapsed >= max_elapsed) {
|
||||||
unique_mutex_lock lock(mutex_);
|
unique_mutex_lock lock(mutex_);
|
||||||
auto futures = std::accumulate(
|
auto futures = std::accumulate(
|
||||||
items_.begin(), items_.end(), std::deque<tasks::task_ptr>{},
|
items_.begin(), items_.end(), std::deque<tasks::task_ptr>{},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user