puppeteer-cluster
Version:
Cluster management for puppeteer
97 lines • 7.55 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatDateTime = formatDateTime;
exports.formatDuration = formatDuration;
exports.timeoutExecute = timeoutExecute;
exports.debugGenerator = debugGenerator;
exports.log = log;
const Debug = require("debug");
function timeUnit(step, name) {
return { step, name };
}
const TIME_UNITS = [
timeUnit(1, 'ms'),
timeUnit(1000, 'seconds'),
timeUnit(60, 'minutes'),
timeUnit(60, 'hours'),
timeUnit(24, 'days'),
timeUnit(31, 'months'),
timeUnit((365 / 31), 'years'),
];
const TIME_UNIT_THRESHOLD = 0.95;
function padDate(value, num) {
const str = value.toString();
if (str.length >= num) {
return str;
}
const zeroesToAdd = num - str.length;
return '0'.repeat(zeroesToAdd) + str;
}
function formatDateTime(datetime) {
const date = (typeof datetime === 'number') ? new Date(datetime) : datetime;
const dateStr = `${date.getFullYear()}`
+ `-${padDate(date.getMonth() + 1, 2)}`
+ `-${padDate(date.getDate(), 2)}`;
const timeStr = `${padDate(date.getHours(), 2)}`
+ `:${padDate(date.getMinutes(), 2)}`
+ `:${padDate(date.getSeconds(), 2)}`
+ `.${padDate(date.getMilliseconds(), 3)}`;
return `${dateStr} ${timeStr}`;
}
function formatDuration(millis) {
if (millis < 0) {
return 'unknown';
}
let remaining = millis;
let nextUnitIndex = 1;
while (nextUnitIndex < TIME_UNITS.length &&
remaining / TIME_UNITS[nextUnitIndex].step >= TIME_UNIT_THRESHOLD) {
remaining = remaining / TIME_UNITS[nextUnitIndex].step;
nextUnitIndex += 1;
}
return `${remaining.toFixed(1)} ${TIME_UNITS[nextUnitIndex - 1].name}`;
}
function timeoutExecute(millis, promise) {
return __awaiter(this, void 0, void 0, function* () {
let timeout = null;
const result = yield Promise.race([
(() => __awaiter(this, void 0, void 0, function* () {
yield new Promise((resolve) => {
timeout = setTimeout(resolve, millis);
});
throw new Error(`Timeout hit: ${millis}`);
}))(),
(() => __awaiter(this, void 0, void 0, function* () {
try {
return yield promise;
}
catch (error) {
// Cancel timeout in error case
clearTimeout(timeout);
throw error;
}
}))(),
]);
clearTimeout(timeout); // is there a better way?
return result;
});
}
function debugGenerator(namespace) {
const debug = Debug(`puppeteer-cluster: ${namespace}`);
return debug;
}
const logToConsole = Debug('puppeteer-cluster:log');
logToConsole.log = console.error.bind(console);
function log(msg) {
logToConsole(msg);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBaUNBLHdDQVlDO0FBRUQsd0NBY0M7QUFFRCx3Q0F1QkM7QUFFRCx3Q0FHQztBQUtELGtCQUVDO0FBakdELCtCQUErQjtBQU8vQixTQUFTLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBZTtJQUMzQixRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUNqQixRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUN6QixRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQztJQUN2QixRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNwQixRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztJQUN0QixRQUFRLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ2hDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUVqQyxTQUFTLE9BQU8sQ0FBQyxLQUFvQixFQUFFLEdBQVc7SUFDOUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMs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