replace deprecated repeatable jobs with job schedulers

This commit is contained in:
Hazelnoot 2025-06-26 10:44:14 -04:00
parent c62af1c528
commit c5bbd667a7

View file

@ -78,62 +78,94 @@ export class QueueService implements OnModuleInit {
@bindThis @bindThis
public async onModuleInit() { public async onModuleInit() {
await this.systemQueue.add('tickCharts', { await this.systemQueue.upsertJobScheduler(
}, { 'tickCharts-scheduler',
repeat: { pattern: '55 * * * *' }, { pattern: '55 * * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'tickCharts',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('resyncCharts', { await this.systemQueue.upsertJobScheduler(
}, { 'resyncCharts-scheduler',
repeat: { pattern: '0 0 * * *' }, { pattern: '0 0 * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'resyncCharts',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('cleanCharts', { await this.systemQueue.upsertJobScheduler(
}, { 'cleanCharts-scheduler',
repeat: { pattern: '0 0 * * *' }, { pattern: '0 0 * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'cleanCharts',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('aggregateRetention', { await this.systemQueue.upsertJobScheduler(
}, { 'aggregateRetention-scheduler',
repeat: { pattern: '0 0 * * *' }, { pattern: '0 0 * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'aggregateRetention',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('clean', { await this.systemQueue.upsertJobScheduler(
}, { 'clean-scheduler',
repeat: { pattern: '0 0 * * *' }, { pattern: '0 0 * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'clean',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('checkExpiredMutings', { await this.systemQueue.upsertJobScheduler(
}, { 'checkExpiredMutings-scheduler',
repeat: { pattern: '*/5 * * * *' }, { pattern: '*/5 * * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'checkExpiredMutings',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('bakeBufferedReactions', { await this.systemQueue.upsertJobScheduler(
}, { 'backBufferedReactions-scheduler',
repeat: { pattern: '0 0 * * *' }, { pattern: '0 0 * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'backBufferedReactions',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
await this.systemQueue.add('checkModeratorsActivity', { await this.systemQueue.upsertJobScheduler(
}, { 'checkModeratorsActivity-scheduler',
// 毎時30分に起動 // 毎時30分に起動
repeat: { pattern: '30 * * * *' }, { pattern: '30 * * * *' },
removeOnComplete: 10, {
removeOnFail: 30, name: 'checkModeratorsActivity',
}); opts: {
removeOnComplete: 10,
removeOnFail: 30,
},
});
} }
@bindThis @bindThis