mongodb-simplecrawler-queue
Version:
MongoDB FetchQueue Implementation for Simplecrawler
34 lines • 1.88 kB
TypeScript
import { Collection, Db, MongoClient } from 'mongodb';
import { FetchQueue, QueueItem, MongoDbQueueConfig, MongoQueueItem } from './typings';
import { GarbageCollector } from './GarbageCollector';
import { Monitor } from './Monitor';
export declare class MongoDbQueue implements FetchQueue {
config: MongoDbQueueConfig;
client: MongoClient;
db: Db;
collection: Collection<MongoQueueItem>;
garbageCollector: GarbageCollector;
monitor: Monitor;
constructor(config: MongoDbQueueConfig | any);
private addToQueue;
private convertForUpdate;
private convertForFilter;
private handleCallback;
init(callback?: Function): Promise<void>;
finalize(callback?: Function): Promise<void>;
drop(callback?: Function): Promise<void>;
add(queueItemOriginal: QueueItem, force: boolean, callback?: Function): Promise<QueueItem | void>;
exists(url: string, callback?: Function): Promise<boolean | void>;
get(index: number, callback?: Function): Promise<QueueItem | void>;
update(id: number, updates: QueueItem, callback?: Function): Promise<MongoQueueItem | void>;
oldestUnfetchedItem(callback?: Function): Promise<QueueItem | void>;
max(statisticName: string, callback?: Function): Promise<number | void>;
min(statisticName: string, callback?: Function): Promise<number | void>;
avg(statisticName: string, callback?: Function): Promise<number | void>;
countItems(comparator: object, callback?: Function): Promise<number | void>;
filterItems(comparator: object, callback?: Function): Promise<QueueItem[] | void>;
getLength(callback?: Function): Promise<number | void>;
freeze(filename: string, callback?: Function): Promise<boolean | void>;
defrost(filename: string, callback?: Function): Promise<boolean | void>;
}
//# sourceMappingURL=MongoQueue.d.ts.map