UNPKG

awake-heroku

Version:

A package help your heroku app is always runs

37 lines (36 loc) 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const https_1 = __importDefault(require("https")); const constants_1 = require("../utils/constants"); const data_1 = __importDefault(require("./data")); class AwakeService { start() { this.interval = setInterval(async () => { const apps = data_1.default.getAll(); if (apps.length <= 0) { return; } for (const app of apps) { if (app.lastHeartBeat && Date.now() - app.lastHeartBeat >= constants_1.DEFAULT_HEARTBEAT) { console.info(`Wakeup app : [${app.id}]: ${app.url}`); try { await https_1.default.get(app.url); } catch (e) { // Should ignore error here } app.lastHeartBeat = Date.now(); data_1.default.update(app); } } }, constants_1.DEFAULT_HEARTBEAT); } stop() { clearInterval(this.interval); } } exports.default = new AwakeService();