mongodb-simplecrawler-queue
Version:
MongoDB FetchQueue Implementation for Simplecrawler
53 lines • 2.12 kB
JavaScript
;
/**
* FetchQueueInterface is a typescript module based on original simplecrawler project
* And rewritten on the TypeScript
* Almost all documentation is copy-pasted from FetchQueue documentation
* {@link https://github.com/simplecrawler/simplecrawler/blob/master/lib/queue.js}
*/
Object.defineProperty(exports, "__esModule", { value: true });
var QueueItemStatus;
(function (QueueItemStatus) {
QueueItemStatus["Queued"] = "queued";
QueueItemStatus["Spooled"] = "spooled";
QueueItemStatus["Headers"] = "headers";
QueueItemStatus["Downloaded"] = "downloaded";
QueueItemStatus["Redirected"] = "redirected";
QueueItemStatus["NotFound"] = "notfound";
QueueItemStatus["Failed"] = "failed";
QueueItemStatus["Created"] = "created";
QueueItemStatus["Timeout"] = "timeout";
QueueItemStatus["Downloadprevented"] = "downloadprevented";
/**
* custom status for atomic operation of "add"
*/
QueueItemStatus["Pulled"] = "pulled";
})(QueueItemStatus = exports.QueueItemStatus || (exports.QueueItemStatus = {}));
/**
* List of allowed statistic metrics
* Controls what properties can be operated on with the
* {@link FetchQueue#min}, {@link FetchQueue#avg} and {@link FetchQueue#max}
* methods.
*/
var AllowedStatistics;
(function (AllowedStatistics) {
AllowedStatistics["actualDataSize"] = "actualDataSize";
AllowedStatistics["contentLength"] = "contentLength";
AllowedStatistics["downloadTime"] = "downloadTime";
AllowedStatistics["requestLatency"] = "requestLatency";
AllowedStatistics["requestTime"] = "requestTime";
})(AllowedStatistics = exports.AllowedStatistics || (exports.AllowedStatistics = {}));
/**
* QueueError extends general Error object to have special field
* @extends Error
*/
class QueueError extends Error {
constructor(m, c) {
super(m);
this.code = c;
// Set the prototype explicitly.
Object.setPrototypeOf(this, QueueError.prototype);
}
}
exports.QueueError = QueueError;
//# sourceMappingURL=FetchQueueInterface.js.map