@chevre/domain 22.11.0-alpha.25 → 22.11.0-alpha.26

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
  /**
@@ -133,9 +133,6 @@ export declare class TaskRepo {
133
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();
@@ -501,107 +502,6 @@ class TaskRepo {
501
502
  return doc;
502
503
  });
503
504
  }
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
505
  /**
606
506
  * Readyのままで期限切れのタスクをExpiredに変更する
607
507
  */
@@ -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.26"
119
119
  }