@chevre/domain 22.11.0-alpha.23 → 22.11.0-alpha.24
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.
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// const project = { id: String(process.env.PROJECT_ID) };
|
|
7
|
+
|
|
8
|
+
mongoose.Model.on('index', (...args) => {
|
|
9
|
+
console.error('******** index event emitted. ********\n', args);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const excludedTaskNames = [
|
|
13
|
+
chevre.factory.taskName.DeleteTransaction,
|
|
14
|
+
chevre.factory.taskName.ImportEventCapacitiesFromCOA,
|
|
15
|
+
chevre.factory.taskName.ImportEventsFromCOA,
|
|
16
|
+
chevre.factory.taskName.AcceptCOAOffer,
|
|
17
|
+
chevre.factory.taskName.CheckMovieTicket,
|
|
18
|
+
chevre.factory.taskName.AuthorizePayment,
|
|
19
|
+
chevre.factory.taskName.PublishPaymentUrl
|
|
20
|
+
];
|
|
21
|
+
async function main() {
|
|
22
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
23
|
+
|
|
24
|
+
let allTaskNames = Object.values(chevre.factory.taskName);
|
|
25
|
+
allTaskNames = allTaskNames.filter((taskName) => !excludedTaskNames.includes(taskName));
|
|
26
|
+
console.log('allTaskNames:', allTaskNames, allTaskNames.length);
|
|
27
|
+
const taskRepo = await chevre.repository.Task.createInstance(mongoose.connection);
|
|
28
|
+
|
|
29
|
+
const result = await taskRepo.countPotentiallyRunning({
|
|
30
|
+
name: {
|
|
31
|
+
$in: allTaskNames
|
|
32
|
+
},
|
|
33
|
+
runsAt: { $lt: new Date() },
|
|
34
|
+
limit: 100
|
|
35
|
+
});
|
|
36
|
+
console.log('result:', result);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
main()
|
|
40
|
+
.then()
|
|
41
|
+
.catch(console.error);
|
|
@@ -103,7 +103,7 @@ export declare class TaskRepo {
|
|
|
103
103
|
countPotentiallyRunning(params: {
|
|
104
104
|
name?: {
|
|
105
105
|
$eq?: factory.taskName;
|
|
106
|
-
$
|
|
106
|
+
$in?: factory.taskName[];
|
|
107
107
|
};
|
|
108
108
|
runsAt: {
|
|
109
109
|
$lt: Date;
|
|
@@ -118,7 +118,7 @@ export declare class TaskRepo {
|
|
|
118
118
|
emitRunningIfExists(params: {
|
|
119
119
|
name?: {
|
|
120
120
|
$eq?: factory.taskName;
|
|
121
|
-
$
|
|
121
|
+
$in?: factory.taskName[];
|
|
122
122
|
};
|
|
123
123
|
executor: {
|
|
124
124
|
name: string;
|
|
@@ -127,7 +127,6 @@ export declare class TaskRepo {
|
|
|
127
127
|
$lt: Date;
|
|
128
128
|
};
|
|
129
129
|
sort: {
|
|
130
|
-
numberOfTried?: factory.sortType;
|
|
131
130
|
runsAt: factory.sortType;
|
|
132
131
|
};
|
|
133
132
|
}, next?: INextFunction): Promise<Pick<factory.task.ITask<factory.taskName>, 'id' | 'name'> | null>;
|
package/lib/chevre/repo/task.js
CHANGED
|
@@ -31,7 +31,7 @@ const task_2 = require("./mongoose/schemas/task");
|
|
|
31
31
|
* タスク実行時のソート条件
|
|
32
32
|
*/
|
|
33
33
|
const sortOrder4executionOfTasks = {
|
|
34
|
-
numberOfTried: factory.sortType.Ascending, // トライ回数の少なさ優先
|
|
34
|
+
// numberOfTried: factory.sortType.Ascending, // トライ回数の少なさ優先 // discontinue(2025-08-06~)
|
|
35
35
|
runsAt: factory.sortType.Ascending // 実行予定日時の早さ優先
|
|
36
36
|
};
|
|
37
37
|
const executableTaskProjection = {
|
|
@@ -433,13 +433,14 @@ class TaskRepo {
|
|
|
433
433
|
return __awaiter(this, void 0, void 0, function* () {
|
|
434
434
|
const { runsAt, limit, name } = params;
|
|
435
435
|
const nameEq = name === null || name === void 0 ? void 0 : name.$eq;
|
|
436
|
-
const nameNin = name
|
|
436
|
+
// const nameNin = name?.$nin;
|
|
437
|
+
const nameIn = name === null || name === void 0 ? void 0 : name.$in;
|
|
437
438
|
if (!(runsAt.$lt instanceof Date)) {
|
|
438
439
|
throw new factory.errors.Argument('runsAt.$lt', 'must be Date');
|
|
439
440
|
}
|
|
440
|
-
const query = this.taskModel.countDocuments(Object.assign({ status: { $eq: factory.taskStatus.Ready }, runsAt: { $lt: params.runsAt.$lt } }, (typeof nameEq === 'string' || Array.isArray(
|
|
441
|
+
const query = this.taskModel.countDocuments(Object.assign({ status: { $eq: factory.taskStatus.Ready }, runsAt: { $lt: params.runsAt.$lt } }, (typeof nameEq === 'string' || Array.isArray(nameIn))
|
|
441
442
|
? {
|
|
442
|
-
name: Object.assign(Object.assign({}, (typeof nameEq === 'string') ? { $eq: nameEq } : undefined), (Array.isArray(
|
|
443
|
+
name: Object.assign(Object.assign({}, (typeof nameEq === 'string') ? { $eq: nameEq } : undefined), (Array.isArray(nameIn)) ? { $in: nameIn } : undefined)
|
|
443
444
|
}
|
|
444
445
|
: undefined));
|
|
445
446
|
if (typeof limit === 'number' && limit >= 0) {
|
|
@@ -466,10 +467,11 @@ class TaskRepo {
|
|
|
466
467
|
name: 1
|
|
467
468
|
};
|
|
468
469
|
const nameEq = (_a = params.name) === null || _a === void 0 ? void 0 : _a.$eq;
|
|
469
|
-
const nameNin =
|
|
470
|
-
const
|
|
470
|
+
// const nameNin = params.name?.$nin;
|
|
471
|
+
const nameIn = (_b = params.name) === null || _b === void 0 ? void 0 : _b.$in;
|
|
472
|
+
const doc = yield this.taskModel.findOneAndUpdate(Object.assign({ status: { $eq: factory.taskStatus.Ready }, runsAt: { $lt: params.runsAt.$lt } }, (typeof nameEq === 'string' || Array.isArray(nameIn))
|
|
471
473
|
? {
|
|
472
|
-
name: Object.assign(Object.assign({}, (typeof nameEq === 'string') ? { $eq: nameEq } : undefined), (Array.isArray(
|
|
474
|
+
name: Object.assign(Object.assign({}, (typeof nameEq === 'string') ? { $eq: nameEq } : undefined), (Array.isArray(nameIn)) ? { $in: nameIn } : undefined)
|
|
473
475
|
}
|
|
474
476
|
: undefined), {
|
|
475
477
|
$set: {
|
package/package.json
CHANGED