UNPKG

cnpmcore

Version:
160 lines 12.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Task = exports.PID = exports.HOST_NAME = void 0; const os_1 = __importDefault(require("os")); const path_1 = __importDefault(require("path")); const Entity_1 = require("./Entity"); const EntityUtil_1 = require("../util/EntityUtil"); const Task_1 = require("../../common/enum/Task"); const dayjs_1 = __importDefault(require("../../common/dayjs")); exports.HOST_NAME = os_1.default.hostname(); exports.PID = process.pid; class Task extends Entity_1.Entity { constructor(data) { super(data); this.taskId = data.taskId; this.type = data.type; this.state = data.state; this.targetName = data.targetName; this.authorId = data.authorId; this.authorIp = data.authorIp; this.data = data.data; this.logPath = data.logPath ?? ''; this.logStorePosition = data.logStorePosition ?? ''; this.attempts = data.attempts ?? 0; this.error = data.error ?? ''; this.bizId = data.bizId; } resetLogPath() { this.logPath = `${path_1.default.dirname(this.logPath)}/${(0, dayjs_1.default)().format('DDHHmm')}-${this.taskId}-${this.attempts}.log`; this.logStorePosition = ''; } setExecuteWorker() { this.data.taskWorker = `${exports.HOST_NAME}:${exports.PID}`; } static create(data) { const newData = EntityUtil_1.EntityUtil.defaultData(data, 'taskId'); return new Task(newData); } static createSyncPackage(fullname, options) { const data = { type: Task_1.TaskType.SyncPackage, state: Task_1.TaskState.Waiting, targetName: fullname, authorId: options?.authorId ?? '', authorIp: options?.authorIp ?? '', data: { // task execute worker taskWorker: '', tips: options?.tips, registryId: options?.registryId ?? '', skipDependencies: options?.skipDependencies, syncDownloadData: options?.syncDownloadData, forceSyncHistory: options?.forceSyncHistory, specificVersions: options?.specificVersions, }, }; const task = this.create(data); task.logPath = `/packages/${fullname}/syncs/${(0, dayjs_1.default)().format('YYYY/MM/DDHHmm')}-${task.taskId}.log`; return task; } static createChangesStream(targetName, registryId = '', since = '') { const data = { type: Task_1.TaskType.ChangesStream, state: Task_1.TaskState.Waiting, targetName, authorId: `pid_${exports.PID}`, authorIp: exports.HOST_NAME, data: { // task execute worker taskWorker: '', registryId, since, }, }; return this.create(data); } updateSyncData({ lastSince, taskCount, lastPackage }) { const syncData = this.data; // 更新任务记录信息 syncData.since = lastSince; syncData.task_count = (syncData.task_count || 0) + taskCount; if (taskCount > 0) { syncData.last_package = lastPackage; syncData.last_package_created = new Date(); } } static createCreateHookTask(hookEvent) { const data = { type: Task_1.TaskType.CreateHook, state: Task_1.TaskState.Waiting, targetName: hookEvent.fullname, authorId: `pid_${process.pid}`, authorIp: os_1.default.hostname(), bizId: `CreateHook:${hookEvent.changeId}`, data: { // task execute worker taskWorker: '', hookEvent, }, }; const task = this.create(data); task.logPath = `/packages/${hookEvent.fullname}/hooks/${(0, dayjs_1.default)().format('YYYY/MM/DDHHmm')}-${task.taskId}.log`; return task; } static createTriggerHookTask(hookEvent, hookId) { const data = { type: Task_1.TaskType.TriggerHook, state: Task_1.TaskState.Waiting, targetName: hookEvent.fullname, authorId: `pid_${process.pid}`, bizId: `TriggerHook:${hookEvent.changeId}:${hookId}`, authorIp: os_1.default.hostname(), data: { // task execute worker taskWorker: '', hookEvent, hookId, }, }; const task = this.create(data); task.logPath = `/packages/${hookEvent.fullname}/hooks/${(0, dayjs_1.default)().format('YYYY/MM/DDHHmm')}-${task.taskId}.log`; return task; } static createSyncBinary(targetName, lastData) { const data = { type: Task_1.TaskType.SyncBinary, state: Task_1.TaskState.Waiting, targetName, authorId: `pid_${exports.PID}`, authorIp: exports.HOST_NAME, bizId: `SyncBinary:${targetName}`, data: { // task execute worker taskWorker: '', ...lastData, }, }; const task = this.create(data); task.logPath = `/binaries/${targetName}/syncs/${(0, dayjs_1.default)().format('YYYY/MM/DDHHmm')}-${task.taskId}.log`; return task; } static needMergeWhenWaiting(type) { return [Task_1.TaskType.SyncBinary, Task_1.TaskType.SyncPackage].includes(type); } start() { const condition = { taskId: this.taskId, attempts: this.attempts, }; this.setExecuteWorker(); this.state = Task_1.TaskState.Processing; this.attempts += 1; return condition; } } exports.Task = Task; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscUNBQThDO0FBQzlDLG1EQUEwRDtBQUMxRCxpREFBNkQ7QUFDN0QsK0RBQXVDO0FBRzFCLFFBQUEsU0FBUyxHQUFHLFlBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBcUUvQixNQUFhLElBQTRDLFNBQVEsZUFBTTtJQWVyRSxZQUFZLElBQWlCO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJ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