digitaltwin-core
Version:
Minimalist framework to collect and handle data in a Digital Twin project
30 lines • 1.16 kB
TypeScript
import { Collector } from '../components/collector.js';
import { Harvester } from '../components/harvester.js';
import { Worker } from 'bullmq';
import type { QueueManager } from './queue_manager.js';
import { LogLevel } from '../utils/logger.js';
/**
* Schedules components for execution using the queue manager
*
* This function creates a scheduler instance and sets up:
* - Job scheduling based on component schedules
* - Event-driven harvester triggers
* - Workers for processing jobs
*
* @param components - Array of components to schedule
* @param queueManager - Queue manager instance
* @param multiQueue - Whether to use multi-queue mode (default: true)
* @param logLevel - Log level for the scheduler (optional)
* @returns Promise that resolves to array of created workers
*
* @example
* ```typescript
* const workers = await scheduleComponents(
* [collector1, harvester1],
* queueManager,
* true
* )
* ```
*/
export declare function scheduleComponents(components: Array<Collector | Harvester>, queueManager: QueueManager, multiQueue?: boolean, logLevel?: LogLevel): Promise<Worker[]>;
//# sourceMappingURL=scheduler.d.ts.map