[Scheduler] Event scheduler implementation (#1257)

* Event scheduler implementation

* Create 2021_02_17_server_scheduled_events.sql

* Tweak

* Remove unused event [skip ci]

* Cleanup [skip ci]

* PR adjustments

* Database manifest
This commit is contained in:
Chris Miles
2021-03-29 02:52:57 -05:00
committed by GitHub
parent f51bc4daaf
commit 7aa5308f9c
31 changed files with 2053 additions and 50 deletions
+6
View File
@@ -97,6 +97,7 @@ union semun {
#include "../common/content/world_content_service.h"
#include "../common/repositories/merchantlist_temp_repository.h"
#include "world_store.h"
#include "world_event_scheduler.h"
WorldStore world_store;
ClientList client_list;
@@ -107,6 +108,7 @@ UCSConnection UCSLink;
QueryServConnection QSLink;
LauncherList launcher_list;
AdventureManager adventure_manager;
WorldEventScheduler event_scheduler;
EQ::Random emu_random;
volatile bool RunLoops = true;
uint32 numclients = 0;
@@ -442,6 +444,8 @@ int main(int argc, char** argv) {
content_db.LoadCharacterCreateAllocations();
content_db.LoadCharacterCreateCombos();
event_scheduler.SetDatabase(&database)->LoadScheduledEvents();
std::unique_ptr<EQ::Net::ConsoleServer> console;
if (Config->TelnetEnabled) {
LogInfo("Console (TCP) listener started");
@@ -603,6 +607,8 @@ int main(int argc, char** argv) {
}
}
event_scheduler.Process(&zoneserver_list);
client_list.Process();
if (PurgeInstanceTimer.Check()) {