@fdm-monster/server
Version:
FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.
31 lines (30 loc) • 1.25 kB
JavaScript
import { DITokens } from "./container.tokens.js";
import { TASK_PRESETS } from "./task.presets.js";
//#region src/tasks.ts
/**
* Register a task with a preset and timing (run immediate does not retry in case of failure)
*/
function registerTask(task, preset, milliseconds = 0, runImmediately = false) {
let timingPreset = { ...preset };
timingPreset.milliseconds = preset.milliseconds ?? milliseconds;
timingPreset.runImmediately = runImmediately ?? false;
return {
id: task.name ?? task,
task,
preset: timingPreset
};
}
var ServerTasks = class {
static SERVER_BOOT_TASK = registerTask(DITokens.bootTask, TASK_PRESETS.PERIODIC_DISABLED, 5e3, false);
static BOOT_TASKS = [
registerTask(DITokens.softwareUpdateTask, TASK_PRESETS.RUNDELAYED, 1500),
registerTask(DITokens.clientDistDownloadTask, TASK_PRESETS.RUNONCE),
registerTask(DITokens.socketIoTask, TASK_PRESETS.PERIODIC, 500),
registerTask(DITokens.printerWebsocketTask, TASK_PRESETS.PERIODIC, 2e3, true),
registerTask(DITokens.printerWebsocketRestoreTask, TASK_PRESETS.PERIODIC, 15 * 1e3, false),
registerTask(DITokens.printJobAnalysisTask, TASK_PRESETS.PERIODIC, 30 * 1e3, false)
];
};
//#endregion
export { ServerTasks, registerTask };
//# sourceMappingURL=tasks.js.map