Skip to content

Commit

Permalink
Event Handler Changes
Browse files Browse the repository at this point in the history
Made events a little bit more robust when running clustered servers.
  • Loading branch information
IAMBUDE committed Apr 14, 2022
1 parent 9f2858b commit 4c90fe2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
14 changes: 12 additions & 2 deletions core/server/events.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,15 @@ class ScheduledEventHandler {
logger.logInfo(`[CLUSTER] Schedules were saved.`);
}
} else {
// As the file on disk was changed, reload the file from disk instead of overwriting it.
this.scheduledEvents = fileIO.readParsed(db.user.events.schedule);
// Read the current events into a variable.
let currentEvents = this.scheduledEvents;
// Read the events from disk into a variable.
let savedEvents = fileIO.readParsed(db.user.events.schedule);
// Merge events and write them into memory.
this.scheduledEvents = Object.assign(currentEvents,savedEvents);
// Write the events to disk.
fileIO.write(db.user.events.schedule, this.scheduledEvents);
logger.logInfo(`[CLUSTER] Schedules were merged and saved to disk.`);
}
} else {
// Save events to disk.
Expand Down Expand Up @@ -94,6 +101,8 @@ class ScheduledEventHandler {
addToSchedule(event) {
this.scheduledEvents.push(event);
this.scheduledEvents.sort(compareEvent);

this.saveToDisk();
}

removeFromSchedule(event) {
Expand All @@ -103,6 +112,7 @@ class ScheduledEventHandler {
return this.scheduledEvents.splice(index, 1);
}

this.saveToDisk();
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion src/classes/insurance.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class InsuranceServer {

if (event.type === "insuranceReturn" && event.scheduledTime <= now) {
events.scheduledEventHandler.processEvent(event);
scheduledEvents.splice(count, 1);
events.scheduledEventHandler.removeFromSchedule(event);
}
}
}
Expand Down

0 comments on commit 4c90fe2

Please sign in to comment.