Skip to content

Commit 14fcb93

Browse files
authored
Merge pull request #393 from ykargeee-bit/feat/warning
completed the setup of the Cache Warming and Preloading Service
2 parents ad5918d + c1a96b0 commit 14fcb93

88 files changed

Lines changed: 5754 additions & 29 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { CacheWarmingService } from './cache-warming.service';
2+
import { CreatePreloadDataDto } from './dto/create-preload-data.dto';
3+
import { RecordAccessDto } from './dto/record-access.dto';
4+
import { ScheduleInvalidationDto } from './dto/schedule-invalidation.dto';
5+
import { WarmRequestDto } from './dto/warm-request.dto';
6+
export declare class CacheWarmingController {
7+
private readonly cacheWarmingService;
8+
constructor(cacheWarmingService: CacheWarmingService);
9+
dashboard(): Promise<{
10+
currentWarmWindow: import("./entities/preload-data.entity").WarmWindow;
11+
redisStats: import("./redis-cache.service").RedisCacheStats;
12+
topCandidates: import("./entities/preload-data.entity").PreloadData[];
13+
recentJobs: import("./entities/cache-job.entity").CacheJob[];
14+
recentMetrics: import("./entities/metric.entity").Metric[];
15+
}>;
16+
preloadData(limit?: string): Promise<import("./entities/preload-data.entity").PreloadData[]>;
17+
upsertPreloadData(dto: CreatePreloadDataDto): Promise<import("./entities/preload-data.entity").PreloadData>;
18+
recordAccess(dto: RecordAccessDto): Promise<import("./entities/preload-data.entity").PreloadData>;
19+
candidates(limit?: string): Promise<import("./entities/preload-data.entity").PreloadData[]>;
20+
warm(dto: WarmRequestDto): Promise<import("./cache-warming.service").WarmingResult>;
21+
invalidate(dto: ScheduleInvalidationDto): Promise<number>;
22+
scheduleInvalidation(dto: ScheduleInvalidationDto): Promise<import("./entities/cache-job.entity").CacheJob>;
23+
optimizeHitRate(): Promise<import("./redis-cache.service").RedisCacheStats>;
24+
jobs(limit?: string): Promise<import("./entities/cache-job.entity").CacheJob[]>;
25+
metrics(limit?: string): Promise<import("./entities/metric.entity").Metric[]>;
26+
private toLimit;
27+
}

microservices/cache-warming-service/src/cache-warming/cache-warming.controller.js

Lines changed: 161 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

microservices/cache-warming-service/src/cache-warming/cache-warming.controller.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export declare class CacheWarmingModule {
2+
}

microservices/cache-warming-service/src/cache-warming/cache-warming.module.js

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

microservices/cache-warming-service/src/cache-warming/cache-warming.module.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { ConfigService } from '@nestjs/config';
2+
import { CacheWarmingService } from './cache-warming.service';
3+
export declare class CacheWarmingScheduler {
4+
private readonly cacheWarmingService;
5+
private readonly configService;
6+
private readonly logger;
7+
constructor(cacheWarmingService: CacheWarmingService, configService: ConfigService);
8+
processDueJobs(): Promise<void>;
9+
warmPopularData(): Promise<void>;
10+
invalidateExpiredSchedules(): Promise<void>;
11+
adaptiveWarming(): Promise<void>;
12+
optimizeHitRate(): Promise<void>;
13+
private isSchedulerEnabled;
14+
}

0 commit comments

Comments
 (0)