Browse Source

refactor(spec): spread news feed fetch across nightly 5-hour window

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ryotaro Nagahara 3 weeks ago
parent
commit
4c5741a069

+ 2 - 2
apps/app/src/features/news/server/services/news-cron-service.spec.ts

@@ -66,8 +66,8 @@ describe('NewsCronService', () => {
   });
   });
 
 
   describe('getCronSchedule', () => {
   describe('getCronSchedule', () => {
-    test('should return daily schedule at 1AM', () => {
-      expect(service.getCronSchedule()).toBe('0 1 * * *');
+    test('should return daily schedule at midnight', () => {
+      expect(service.getCronSchedule()).toBe('0 0 * * *');
     });
     });
   });
   });
 
 

+ 3 - 3
apps/app/src/features/news/server/services/news-cron-service.ts

@@ -7,8 +7,8 @@ import { NewsService } from './news-service';
 
 
 const logger = loggerFactory('growi:feature:news:cron');
 const logger = loggerFactory('growi:feature:news:cron');
 
 
-/** Maximum random sleep in ms (5 minutes) */
-const MAX_RANDOM_SLEEP_MS = 5 * 60 * 1000;
+/** Maximum random sleep in ms (5 hours) */
+const MAX_RANDOM_SLEEP_MS = 5 * 60 * 60 * 1000;
 
 
 /** HTTP fetch timeout in ms */
 /** HTTP fetch timeout in ms */
 const FETCH_TIMEOUT_MS = 10_000;
 const FETCH_TIMEOUT_MS = 10_000;
@@ -74,7 +74,7 @@ const randomSleep = (maxMs: number): Promise<void> => {
 
 
 export class NewsCronService extends CronService {
 export class NewsCronService extends CronService {
   override getCronSchedule(): string {
   override getCronSchedule(): string {
-    return '0 1 * * *';
+    return '0 0 * * *';
   }
   }
 
 
   override async executeJob(): Promise<void> {
   override async executeJob(): Promise<void> {