Raj*_*hal 3 cron scheduled-tasks nestjs
我想在我的 NestJs 项目中执行这个 cron 函数:
@Cron('59 23 * * *')
async CashPendingCRON(){
let stores = await this.storeRepository.find();
for (let store of stores){
await this.connection
.createQueryBuilder()
.insert()
.into(CashPending)
.values([
{ cashPending: store.cashPending, store: store }
])
.execute()
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,玉米作业应该在每天晚上 11:59 执行。但它被执行了两次,并且条目被记录在数据库中两次。当我使用像 10 秒这样的间隔 (*/10 * * * * *) 时,它只会被调用一次。
如果有修复或者我做错了什么,请告诉我。
这是我在 app.module.ts 中添加 ScheduleModule 的方法
@Module({
imports: [
ScheduleModule.forRoot(),
ConfigModule.forRoot({
load: [appConfig, devConfig, stagConfig],
ignoreEnvFile: true,
isGlobal: true,
}),
TypeOrmModule.forRoot(
configService.getTypeOrmConfig(),
),
TypeOrmModule.forFeature([
User,
Vendor,
Store,
Product,
Category,
Brand,
AppVersion
]),
JwtModule.registerAsync({
imports: [ConfigModule],
useFactory: async () => ({
secret: process.env.TOKEN_KEY,
}),
inject: [ConfigService],
}),
UserModule,
UserClusterModule,
StoreModule,
OperationManagerModule,
UserBrandModule,
UserCatalogueModule,
UserPropertyModule,
FileModule,
BrandModule,
CategoryModule,
ProductsModule,
WarehouseModule,
SubCategoryModule,
StoreStocksModule,
WarehouseStockModule,
RtvStocksModule,
VendorModule,
CustomerModule,
W2sModule,
S2sModule,
W2wModule,
BillerModule,
WarehouseManagerModule,
AuthModule,
OrderModule,
GRNModule,
SKUTimelinesModule,
BannerModule,
OrderReturnModule,
UtilModule,
POModule,
AppVersion,
S2wModule,
CashOutModule
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
请帮忙。谢谢。
小智 6
我遇到了这个问题并通知 name 属性为我解决了这个问题:
@Cron(CronExpression.EVERY_10_SECONDS, { name: 'nameOfJob'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3136 次 |
| 最近记录: |