@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: factory.sortType;
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: factory.sortType;
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
  */
@@ -416,8 +416,9 @@ class TaskRepo {
416
416
  remainingNumberOfTries: -1, // 残りトライ可能回数減らす
417
417
  numberOfTried: 1 // トライ回数増やす
418
418
  }
419
- }, { new: true, projection: executableTaskProjection })
420
- .sort(params.sort)
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
- .sort(params.sort)
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
  */
@@ -38,7 +38,7 @@ declare function executeOneIfExists(params: {
38
38
  };
39
39
  sort: {
40
40
  numberOfTried?: factory.sortType;
41
- runsAt: factory.sortType;
41
+ runsAt?: factory.sortType;
42
42
  };
43
43
  }): IOperation<void>;
44
44
  export { executeById, executeOneIfExists };
package/package.json CHANGED
@@ -115,5 +115,5 @@
115
115
  "postversion": "git push origin --tags",
116
116
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
117
117
  },
118
- "version": "22.11.0-alpha.25"
118
+ "version": "22.11.0-alpha.27"
119
119
  }