feat: add member cache; handle all role changes with RoleManagerPlugin; exit gracefully

This commit is contained in:
Dragory 2023-05-07 17:56:55 +03:00
parent fd60a09947
commit fa50110766
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
48 changed files with 755 additions and 264 deletions

View file

@ -0,0 +1,13 @@
// tslint:disable:no-console
import { HOURS, lazyMemoize } from "../../utils";
import { MemberCache } from "../MemberCache";
const LOOP_INTERVAL = 6 * HOURS;
const getMemberCacheRepository = lazyMemoize(() => new MemberCache());
export async function runExpiredMemberCacheDeletionLoop() {
console.log("[EXPIRED MEMBER CACHE DELETION LOOP] Deleting stale member cache entries");
await getMemberCacheRepository().deleteStaleData();
setTimeout(() => runExpiredMemberCacheDeletionLoop(), LOOP_INTERVAL);
}

View file

@ -0,0 +1,13 @@
// tslint:disable:no-console
import { lazyMemoize, MINUTES } from "../../utils";
import { MemberCache } from "../MemberCache";
const LOOP_INTERVAL = 5 * MINUTES;
const getMemberCacheRepository = lazyMemoize(() => new MemberCache());
export async function runMemberCacheDeletionLoop() {
console.log("[MEMBER CACHE DELETION LOOP] Deleting entries marked to be deleted");
await getMemberCacheRepository().deleteMarkedToBeDeletedEntries();
setTimeout(() => runMemberCacheDeletionLoop(), LOOP_INTERVAL);
}