DefinitelyTyped/types/mongodb-queue/mongodb-queue-tests.ts

91 lines
2.3 KiB
TypeScript

import * as queue from 'mongodb-queue';
import { MongoClient } from 'mongodb';
const mongoClient = new MongoClient('mongodb://localhost:27017');
mongoClient.connect().then(() => {
const deadQueue = queue(mongoClient.db('test'), 'test-deadqueue');
const opts: queue.QueueOptions = {
deadQueue,
delay: 0,
maxRetries: 5,
visibility: 30,
};
const mongoQueue = queue(mongoClient.db('test'), 'test-queue', opts);
mongoQueue.add('foo', (err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const msgId: string = res;
console.log('msgId: ' + msgId);
}
});
mongoQueue.get((err, res) => {
if (err) {
console.log('error: ' + err);
} else {
if (res) {
const msg: queue.QueueMessage = res;
console.log('msg: ' + JSON.stringify(msg));
} else {
console.log('no messages available');
}
}
});
mongoQueue.ping('testAck', (err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const msgId: string = res;
console.log('msgId: ' + msgId);
}
});
mongoQueue.ack('testAck', (err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const msgId: string = res;
console.log('msgId: ' + msgId);
}
});
mongoQueue.total((err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const total: number = res;
console.log('total: ' + total);
}
});
mongoQueue.size((err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const size: number = res;
console.log('size: ' + size);
}
});
mongoQueue.inflight((err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const inflight: number = res;
console.log('inflight: ' + inflight);
}
});
mongoQueue.done((err, res) => {
if (err) {
console.log('error: ' + err);
} else {
const done: number = res;
console.log('done: ' + done);
}
});
});