Initial commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
const memory = require('./memory.js'); // Scheduler memory
|
||||
|
||||
module.exports = async function() {
|
||||
try {
|
||||
const allTasks = memory.getAllTasks();
|
||||
|
||||
// Build the return object with task status
|
||||
const tasksStatus = {};
|
||||
for (const name in allTasks) {
|
||||
const t = allTasks[name];
|
||||
tasksStatus[name] = {
|
||||
active: t.active, // whether the task is currently marked active
|
||||
oneTime: t.oneTime, // one-time or recurring
|
||||
intervalInSec: t.intervalInSec,
|
||||
lastRun: t.lastRun, // last execution timestamp
|
||||
nextRun: t.nextRun, // next scheduled execution timestamp
|
||||
error: t.error, // last error if occurred
|
||||
action: t.action // linked action file
|
||||
};
|
||||
}
|
||||
|
||||
// Determine if service is online (any task has a timer running)
|
||||
const online = Object.values(allTasks).some(t => t.timer);
|
||||
|
||||
return {
|
||||
online: online,
|
||||
tasks: tasksStatus
|
||||
};
|
||||
} catch (err) {
|
||||
console.error('Failed to retrieve scheduler status:', err);
|
||||
return {
|
||||
online: false,
|
||||
tasks: {}
|
||||
};
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user