@chevre/domain
Version:
Chevre Domain Library for Node.js
51 lines (43 loc) • 1.81 kB
text/typescript
// tslint:disable:no-console
import * as moment from 'moment';
import * as mongoose from 'mongoose';
import { chevre } from '../../../lib/index';
// const project = { id: String(process.env.PROJECT_ID) };
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI);
const taskRepo = await chevre.repository.Task.createInstance(mongoose.connection);
setInterval(
async () => {
const startTime = process.hrtime();
const task = await taskRepo.findExecutableOne({
name: {
$eq: chevre.factory.taskName.VoidReserveTransaction
// $nin: [
// chevre.factory.taskName.DeleteTransaction,
// chevre.factory.taskName.ImportEventCapacitiesFromCOA,
// chevre.factory.taskName.ImportEventsFromCOA,
// chevre.factory.taskName.AcceptCOAOffer,
// chevre.factory.taskName.CheckMovieTicket,
// chevre.factory.taskName.AuthorizePayment,
// chevre.factory.taskName.PublishPaymentUrl
// ]
},
runsAt: {
$lt: moment()
// tslint:disable-next-line:no-magic-numbers
.add(-60, 'seconds')
.toDate()
}
});
const diff = process.hrtime(startTime);
console.log(`took ${diff[0]} seconds and ${diff[1]} nanoseconds.`);
// tslint:disable-next-line:no-null-keyword
console.dir(task?.id, { depth: null });
},
// tslint:disable-next-line:no-magic-numbers
1000
);
}
main()
.then()
.catch(console.error);