preload caches on startup

deepsource-autofix-76c6eb20
Dan Gowans 2023-03-30 11:31:29 -04:00
parent 3f8c331cd3
commit 13b9b15c2f
5 changed files with 30 additions and 0 deletions

2
app.js
View File

@ -19,6 +19,7 @@ import routerLotOccupancies from './routes/lotOccupancies.js';
import routerWorkOrders from './routes/workOrders.js';
import routerReports from './routes/reports.js';
import routerAdmin from './routes/admin.js';
import { preloadCaches } from './helpers/functions.cache.js';
import * as configFunctions from './helpers/functions.config.js';
import * as printFunctions from './helpers/functions.print.js';
import * as dateTimeFns from '@cityssm/utils-datetime';
@ -32,6 +33,7 @@ import { useTestDatabases } from './data/databasePaths.js';
import Debug from 'debug';
const debug = Debug(`lot-occupancy-system:app:${process.pid}`);
databaseInitializer.initializeDatabase();
preloadCaches();
const _dirname = '.';
export const app = express();
app.disable('X-Powered-By');

8
app.ts
View File

@ -24,6 +24,8 @@ import routerWorkOrders from './routes/workOrders.js'
import routerReports from './routes/reports.js'
import routerAdmin from './routes/admin.js'
import { preloadCaches } from './helpers/functions.cache.js'
import * as configFunctions from './helpers/functions.config.js'
import * as printFunctions from './helpers/functions.print.js'
import * as dateTimeFns from '@cityssm/utils-datetime'
@ -48,6 +50,12 @@ const debug = Debug(`lot-occupancy-system:app:${process.pid}`)
databaseInitializer.initializeDatabase()
/*
* PRELOAD CACHES
*/
preloadCaches()
/*
* INITIALIZE APP
*/

View File

@ -18,4 +18,5 @@ export declare function getWorkOrderTypeById(workOrderTypeId: number): Promise<r
export declare function getWorkOrderMilestoneTypes(): Promise<recordTypes.WorkOrderMilestoneType[]>;
export declare function getWorkOrderMilestoneTypeById(workOrderMilestoneTypeId: number): Promise<recordTypes.WorkOrderMilestoneType | undefined>;
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): Promise<recordTypes.WorkOrderMilestoneType | undefined>;
export declare function preloadCaches(): void;
export declare function clearCacheByTableName(tableName: string, relayMessage?: boolean): void;

View File

@ -160,6 +160,15 @@ export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrde
workOrderMilestoneTypeLowerCase);
});
}
export function preloadCaches() {
debug('Preloading caches');
void getLotOccupantTypes();
void getLotStatuses();
void getLotTypes();
void getOccupancyTypes();
void getWorkOrderTypes();
void getWorkOrderMilestoneTypes();
}
function clearWorkOrderMilestoneTypesCache() {
workOrderMilestoneTypes = undefined;
}

View File

@ -298,6 +298,16 @@ export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
})
}
export function preloadCaches(): void {
debug('Preloading caches')
void getLotOccupantTypes()
void getLotStatuses()
void getLotTypes()
void getOccupancyTypes()
void getWorkOrderTypes()
void getWorkOrderMilestoneTypes()
}
function clearWorkOrderMilestoneTypesCache(): void {
workOrderMilestoneTypes = undefined
}