Browse Source

feat: add Task Registry for named function handlers

main
npmrun 2 weeks ago
parent
commit
a16e0b7099
  1. 29
      server/scheduler/registry.ts

29
server/scheduler/registry.ts

@ -0,0 +1,29 @@
import log4js from "logger";
const logger = log4js.getLogger("SCHEDULER");
export type TaskHandler = (
payload?: Record<string, unknown>
) => Promise<{ success: boolean; message: string }>;
const registry = new Map<string, TaskHandler>();
export function registerTask(name: string, handler: TaskHandler): void {
if (registry.has(name)) {
logger.warn("Task '%s' is already registered, overwriting", name);
}
registry.set(name, handler);
logger.info("Registered task: %s", name);
}
export function hasTask(name: string): boolean {
return registry.has(name);
}
export function listRegisteredTasks(): string[] {
return Array.from(registry.keys());
}
export function getTaskHandler(name: string): TaskHandler | undefined {
return registry.get(name);
}
Loading…
Cancel
Save