Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 1x 1x 1x | import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { LessThan, Repository } from 'typeorm';
import { DataRefreshment } from '@amalia/core/models';
import { CustomObjectImportStatus } from '@amalia/core/types';
import { dayjs } from '@amalia/ext/dayjs';
import { assert } from '@amalia/ext/typescript';
@Injectable()
export class RefreshmentsProbe {
public constructor(
@InjectRepository(DataRefreshment)
private readonly refreshmentRepository: Repository<DataRefreshment>,
) {}
public async probe(maxPendingMinutes: number = 20) {
const pendingRefreshments = await this.refreshmentRepository.find({
where: {
status: CustomObjectImportStatus.PENDING,
createdAt: LessThan(dayjs().subtract(maxPendingMinutes, 'minutes').toDate()),
},
});
assert(
pendingRefreshments.length === 0,
`Some refreshments (${pendingRefreshments.length}) are in pending for more than ${maxPendingMinutes} minutes`,
);
}
}
|