UNPKG

seyfert

Version:

The most advanced framework for discord bots

36 lines (35 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Heartbeater = void 0; class Heartbeater { sendMethod; interval; store = new Map(); constructor(sendMethod, interval) { this.sendMethod = sendMethod; this.interval = interval; } register(workerId, recreate) { if (this.interval <= 0) return; this.store.set(workerId, { ack: true, interval: setInterval(() => { const heartbeat = this.store.get(workerId); if (!heartbeat.ack) { heartbeat.ack = true; return recreate(workerId); } heartbeat.ack = false; this.sendMethod(workerId, { type: 'HEARTBEAT' }); }, this.interval), }); } acknowledge(workerId) { const heartbeat = this.store.get(workerId); if (!heartbeat) return; heartbeat.ack = true; } } exports.Heartbeater = Heartbeater;