1
0
Fork 0
forked from blue/pica

beginning of the scheduler

This commit is contained in:
Blue 2023-12-31 14:10:04 -03:00
parent f1a2006b4b
commit 26114aad5f
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
6 changed files with 157 additions and 0 deletions

View file

@ -38,6 +38,7 @@ Server::Server():
router(std::make_shared<Router>()),
pool(DB::Pool::create()),
taskManager(std::make_shared<TM::Manager>()),
scheduler(std::make_shared<TM::Scheduler>(taskManager)),
sessions()
{
std::cout << "Startig pica..." << std::endl;
@ -65,6 +66,28 @@ void Server::run(int socketDescriptor) {
router->addRoute(std::make_unique<Handler::Login>(shared_from_this()));
taskManager->start();
scheduler->start();
scheduler->schedule([]() {
std::cout << "5000" << std::endl;
}, TM::Scheduler::Delay(5000));
scheduler->schedule([]() {
std::cout << "2000" << std::endl;
}, TM::Scheduler::Delay(2000));
scheduler->schedule([]() {
std::cout << "6000" << std::endl;
}, TM::Scheduler::Delay(6000));
std::this_thread::sleep_for(std::chrono::milliseconds(500));
scheduler->schedule([]() {
std::cout << "2000 + 500" << std::endl;
}, TM::Scheduler::Delay(2000));
std::this_thread::sleep_for(std::chrono::milliseconds(100));
scheduler->schedule([]() {
std::cout << "1000 + 600" << std::endl;
}, TM::Scheduler::Delay(1000));
while (!terminating) {
std::unique_ptr<Request> request = std::make_unique<Request>();

View file

@ -26,6 +26,7 @@
#include "utils/helpers.h"
#include "config.h"
#include "taskmanager/manager.h"
#include "taskmanager/scheduler.h"
class Server : public std::enable_shared_from_this<Server> {
public:
@ -52,5 +53,6 @@ private:
std::shared_ptr<Router> router;
std::shared_ptr<DB::Pool> pool;
std::shared_ptr<TM::Manager> taskManager;
std::shared_ptr<TM::Scheduler> scheduler;
Sessions sessions;
};