← Back to list

nestjs-scheduling
by ngxtm
⭐ 0🍴 0📅 Jan 23, 2026
SKILL.md
name: NestJS Scheduling description: Distributed cron jobs and locking patterns. metadata: labels: [nestjs, cron, scheduling, redis] triggers: files: ['**/*.service.ts'] keywords: ["@Cron, CronExpression, ScheduleModule"]
Task Scheduling & Jobs
Distributed Cron (Critical)
- Problem:
@Cron()runs on every instance. In K8s with 3 pods, your "Daily Report" runs 3 times. - Solution: Distributed Locking using Redis.
- Pattern: Using a decorator to wrap the cron method.
- Logic:
SET resource_name my_random_value NX PX 30000(Redis Atomic Set).
Cron Decorator Pattern
-
Implementation:
@Cron(CronExpression.EVERY_MINUTE) @DistributedLock({ key: 'send_emails', ttl: 5000 }) async handleCron() { // Only runs if lock acquired } -
Tools: Use
nestjs-redlockor custom Redis wrapper viaredlocklibrary.
Job Robustness
- Isolation: Never perform heavy processing inside the Cron handler.
- Pattern: Cron -> Push Job ID to Queue (BullMQ) -> Worker processes it.
- Why: Cron schedulers can get blocked by the Event Loop; Workers are scalable.
- Error Handling: Wrap ALL cron logic in
try/catch. Uncaught exceptions in a Cron job can crash the entire Node process.
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon