Node.js 如何在12:00AM(在所有时区都相同)为多个国家/地区编写使用NestJS的调度程序?
我有一个时间表,它必须在印度时区的12:00和新加坡时区的12:00运行。我能够为印度用户编写cron作业,但是如何在新加坡凌晨12:00触发相同的作业呢?我认为可以很容易地使用例如晚上9:30(UTC+08:00(新加坡)-UTC+05:30(印度))AM来代替上午12:00如果使用此方法,只需编写一次代码,并从@cron()修饰的两个函数调用它 服务台Node.js 如何在12:00AM(在所有时区都相同)为多个国家/地区编写使用NestJS的调度程序?,node.js,express,nestjs,nestjs-config,Node.js,Express,Nestjs,Nestjs Config,我有一个时间表,它必须在印度时区的12:00和新加坡时区的12:00运行。我能够为印度用户编写cron作业,但是如何在新加坡凌晨12:00触发相同的作业呢?我认为可以很容易地使用例如晚上9:30(UTC+08:00(新加坡)-UTC+05:30(印度))AM来代替上午12:00如果使用此方法,只需编写一次代码,并从@cron()修饰的两个函数调用它 服务台 是的,为此,我需要两个单独的调度器和重复的代码。将来,我们将支持多个时区。如果你设定开始时间,为印度和新加坡设定两次,那么这个解决方案是不可
是的,为此,我需要两个单独的调度器和重复的代码。将来,我们将支持多个时区。如果你设定开始时间,为印度和新加坡设定两次,那么这个解决方案是不可行的。但是让我来写代码,告诉你怎么做。
@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
}
}