UNPKG

@cocalc/server

Version:

CoCalc server functionality: functions used by either the hub and the next.js server

31 lines 1.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const settings_1 = require("@cocalc/server/settings"); const control_1 = require("@cocalc/server/projects/control"); const lru_cache_1 = __importDefault(require("lru-cache")); const logger_1 = __importDefault(require("@cocalc/backend/logger")); const logger = (0, logger_1.default)("project-connection:handle-version"); const restarted = new lru_cache_1.default({ maxAge: 15 * 1000 * 60, // never try to restart more than once every 15 minutes }); async function handleVersion(project_id, version) { if (restarted.has(project_id)) return; // Restart project if version of project code is too old. const { version_min_project } = await (0, settings_1.getServerSettings)(); if (!version_min_project || version_min_project <= version) return; restarted.set(project_id, true); const project = (0, control_1.getProject)(project_id); try { await project.restart(); } catch (err) { logger.debug("WARNING -- error restarting project due to version too old", project_id, err); } } exports.default = handleVersion; //# sourceMappingURL=handle-version.js.map