@chevre/domain 22.11.0-alpha.25 → 22.11.0-alpha.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -97,7 +97,7 @@ export declare class TaskRepo {
|
|
|
97
97
|
};
|
|
98
98
|
sort: {
|
|
99
99
|
numberOfTried?: factory.sortType;
|
|
100
|
-
runsAt
|
|
100
|
+
runsAt?: factory.sortType;
|
|
101
101
|
};
|
|
102
102
|
}): Promise<IExecutableTask<factory.taskName> | null>;
|
|
103
103
|
/**
|
|
@@ -130,12 +130,9 @@ export declare class TaskRepo {
|
|
|
130
130
|
$lt: Date;
|
|
131
131
|
};
|
|
132
132
|
sort: {
|
|
133
|
-
runsAt
|
|
133
|
+
runsAt?: factory.sortType;
|
|
134
134
|
};
|
|
135
135
|
}, next?: INextFunction): Promise<Pick<factory.task.ITask<factory.taskName>, 'id' | 'name'> | null>;
|
|
136
|
-
/**
|
|
137
|
-
* emit OnTaskStatusChanged on delayed tasks
|
|
138
|
-
*/
|
|
139
136
|
/**
|
|
140
137
|
* Readyのままで期限切れのタスクをExpiredに変更する
|
|
141
138
|
*/
|
package/lib/chevre/repo/task.js
CHANGED
|
@@ -416,8 +416,9 @@ class TaskRepo {
|
|
|
416
416
|
remainingNumberOfTries: -1, // 残りトライ可能回数減らす
|
|
417
417
|
numberOfTried: 1 // トライ回数増やす
|
|
418
418
|
}
|
|
419
|
-
}, { new: true, projection: executableTaskProjection })
|
|
420
|
-
|
|
419
|
+
}, Object.assign({ new: true, projection: executableTaskProjection }, (typeof params.sort.numberOfTried === 'number' || typeof params.sort.runsAt === 'number')
|
|
420
|
+
? { sort: params.sort }
|
|
421
|
+
: undefined))
|
|
421
422
|
.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
422
423
|
.lean() // lean(2024-09-26~)
|
|
423
424
|
.exec();
|
|
@@ -485,8 +486,9 @@ class TaskRepo {
|
|
|
485
486
|
remainingNumberOfTries: -1, // 残りトライ可能回数減らす
|
|
486
487
|
numberOfTried: 1 // トライ回数増やす
|
|
487
488
|
}
|
|
488
|
-
}, { new: true, projection })
|
|
489
|
-
|
|
489
|
+
}, Object.assign({ new: true, projection }, (typeof params.sort.runsAt === 'number')
|
|
490
|
+
? { sort: params.sort }
|
|
491
|
+
: undefined))
|
|
490
492
|
.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
491
493
|
.lean()
|
|
492
494
|
.exec();
|
|
@@ -501,107 +503,6 @@ class TaskRepo {
|
|
|
501
503
|
return doc;
|
|
502
504
|
});
|
|
503
505
|
}
|
|
504
|
-
// public async findExecutableOne(params: {
|
|
505
|
-
// name?: {
|
|
506
|
-
// $eq?: factory.taskName;
|
|
507
|
-
// $nin?: factory.taskName[];
|
|
508
|
-
// };
|
|
509
|
-
// runsAt: {
|
|
510
|
-
// $lt: Date;
|
|
511
|
-
// };
|
|
512
|
-
// }): Promise<IExecutableTask<factory.taskName> | null> {
|
|
513
|
-
// if (!(params.runsAt.$lt instanceof Date)) {
|
|
514
|
-
// throw new factory.errors.Argument('runsAt.$lt', 'must be Date');
|
|
515
|
-
// }
|
|
516
|
-
// const nameEq = params.name?.$eq;
|
|
517
|
-
// const nameNin = params.name?.$nin;
|
|
518
|
-
// const query = this.taskModel.findOne(
|
|
519
|
-
// {
|
|
520
|
-
// status: { $eq: factory.taskStatus.Ready },
|
|
521
|
-
// runsAt: { $lt: params.runsAt.$lt },
|
|
522
|
-
// ...(typeof nameEq === 'string' || Array.isArray(nameNin))
|
|
523
|
-
// ? {
|
|
524
|
-
// name: {
|
|
525
|
-
// ...(typeof nameEq === 'string') ? { $eq: nameEq } : undefined,
|
|
526
|
-
// ...(Array.isArray(nameNin)) ? { $nin: nameNin } : undefined
|
|
527
|
-
// }
|
|
528
|
-
// }
|
|
529
|
-
// : undefined
|
|
530
|
-
// },
|
|
531
|
-
// executableTaskProjection
|
|
532
|
-
// )
|
|
533
|
-
// .sort({
|
|
534
|
-
// runsAt: factory.sortType.Ascending
|
|
535
|
-
// });
|
|
536
|
-
// // .hint('executeOneByName');
|
|
537
|
-
// // const explainResult = await query.explain();
|
|
538
|
-
// // console.dir(explainResult, { depth: null });
|
|
539
|
-
// // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
|
|
540
|
-
// const doc = await query.setOptions({ maxTimeMS: MONGO_MAX_TIME_MS })
|
|
541
|
-
// .lean<IExecutableTask<factory.taskName>>()
|
|
542
|
-
// .exec();
|
|
543
|
-
// if (doc === null) {
|
|
544
|
-
// // tslint:disable-next-line:no-null-keyword
|
|
545
|
-
// return null;
|
|
546
|
-
// }
|
|
547
|
-
// return doc;
|
|
548
|
-
// }
|
|
549
|
-
// discontinue(2025-05-26~)
|
|
550
|
-
/**
|
|
551
|
-
* emit OnTaskStatusChanged on delayed tasks
|
|
552
|
-
*/
|
|
553
|
-
// public async emitDelayedTasksEvent(params: {
|
|
554
|
-
// now: Date;
|
|
555
|
-
// /**
|
|
556
|
-
// * 指定期間遅延しているタスクを実行する
|
|
557
|
-
// */
|
|
558
|
-
// delayInSeconds: number;
|
|
559
|
-
// limit: number;
|
|
560
|
-
// name: {
|
|
561
|
-
// /**
|
|
562
|
-
// * 指定タスクのみ実行する
|
|
563
|
-
// */
|
|
564
|
-
// $in?: factory.taskName[];
|
|
565
|
-
// /**
|
|
566
|
-
// * 指定タスク以外のみ実行する
|
|
567
|
-
// */
|
|
568
|
-
// $nin?: factory.taskName[];
|
|
569
|
-
// };
|
|
570
|
-
// }) {
|
|
571
|
-
// const runsAtLt = moment(params.now)
|
|
572
|
-
// .add(-params.delayInSeconds, 'seconds')
|
|
573
|
-
// .toDate();
|
|
574
|
-
// const projection: ProjectionType<factory.task.ITask<factory.taskName>> = {
|
|
575
|
-
// _id: 0,
|
|
576
|
-
// id: { $toString: '$_id' },
|
|
577
|
-
// name: 1,
|
|
578
|
-
// status: 1
|
|
579
|
-
// };
|
|
580
|
-
// const delayedTasks = await this.taskModel.find(
|
|
581
|
-
// {
|
|
582
|
-
// status: { $eq: factory.taskStatus.Ready },
|
|
583
|
-
// runsAt: { $lt: runsAtLt },
|
|
584
|
-
// ...(Array.isArray(params.name.$in)) ? { name: { $in: params.name.$in } } : undefined,
|
|
585
|
-
// ...(Array.isArray(params.name.$nin)) ? { name: { $nin: params.name.$nin } } : undefined
|
|
586
|
-
// },
|
|
587
|
-
// projection
|
|
588
|
-
// )
|
|
589
|
-
// .limit(params.limit)
|
|
590
|
-
// .sort(sortOrder4executionOfTasks) // sort(2025-03-03~)
|
|
591
|
-
// .setOptions({ maxTimeMS: MONGO_MAX_TIME_MS })
|
|
592
|
-
// .lean<IDelayedTask[]>() // lean(2024-09-26~)
|
|
593
|
-
// .exec();
|
|
594
|
-
// if (delayedTasks.length > 0) {
|
|
595
|
-
// delayedTasks.forEach((delayedTask) => {
|
|
596
|
-
// taskEventEmitter.emitTaskStatusChanged({
|
|
597
|
-
// id: delayedTask.id,
|
|
598
|
-
// name: delayedTask.name,
|
|
599
|
-
// status: factory.taskStatus.Ready
|
|
600
|
-
// });
|
|
601
|
-
// });
|
|
602
|
-
// }
|
|
603
|
-
// return delayedTasks;
|
|
604
|
-
// }
|
|
605
506
|
/**
|
|
606
507
|
* Readyのままで期限切れのタスクをExpiredに変更する
|
|
607
508
|
*/
|
package/package.json
CHANGED