问题描述
我有一个调度程序,它必须在印度时区的凌晨 12:00 和新加坡时区的凌晨 12:00 运行。我能够为印度用户编写一个 cron 作业,但是如何在凌晨 12:00 在新加坡触发相同的任务?
解决方法
如果使用这个方法,只需要写一次代码,从@Cron()修饰的两个函数中调用
service.ts
@Injectable()
export class Service {
@Cron('* * 0 * * *',{
timeZone: 'Asia/Tehran',// use this website: https://momentjs.com/timezone/
})
async iran() {
this.yourFunction();
}
@Cron('* * 0 * * *',{
timeZone: 'Asia/Tokyo',})
async japan() {
this.yourFunction();
}
async yourFunction() {
// write the schedule only one time
}
}
,
我认为很容易使用例如 9:30 PM (UTC+08:00(Singapore) - UTC+05:30(India)) AM 而不是 12:00 AM