UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

51 lines (43 loc) 1.81 kB
// 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);