Skip to main content

Interface: EnhancedMonitorCheckConfig

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:97

Configuration interface for enhanced monitor checking with comprehensive service dependencies.

Remarks

This configuration object provides all necessary dependencies for the enhanced monitor checker to operate safely with operation correlation and race condition prevention. Each dependency serves a specific purpose in the monitoring operation lifecycle.

Example

const config: EnhancedMonitorCheckConfig = {
eventEmitter: typedEventBus,
getHistoryLimit: () => 100,
historyRepository: historyRepo,
monitorRepository: monitorRepo,
operationRegistry: registry,
siteRepository: siteRepo,
sites: sitesCache,
statusUpdateService: updateService,
timeoutManager: timeoutMgr,
};

Properties

eventEmitter

eventEmitter: TypedEventBus<UptimeEvents>

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:106

Event emitter for system-wide communication and monitor event propagation.

Remarks

Used to emit monitor status changes, operation events, and other monitoring-related notifications throughout the application.


getHistoryLimit()

getHistoryLimit: () => number

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:118

Function to get the maximum number of history entries to keep for each monitor.

Returns

number

The maximum number of status history entries to retain

Remarks

This function provides the current history limit setting, which may change during runtime based on user configuration or system constraints.


historyRepository

historyRepository: HistoryRepository

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:127

Repository for history operations and status history management.

Remarks

Handles persistence and retrieval of monitor status history entries, including automatic pruning based on the configured history limit.


monitorRepository

monitorRepository: MonitorRepository

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:136

Repository for monitor entity operations and status updates.

Remarks

Manages monitor entity persistence, updates monitor status and configuration, and handles monitor-related database operations.


operationRegistry

operationRegistry: MonitorOperationRegistry

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:146

Operation registry for correlation and race condition prevention.

Remarks

Tracks active monitor operations to prevent concurrent checks on the same monitor and provides operation correlation for debugging and state management.


siteRepository

siteRepository: SiteRepository

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:155

Repository for site entity operations and site-monitor relationships.

Remarks

Handles site entity persistence and manages the relationship between sites and their associated monitors.


sites

sites: StandardizedCache<Site>

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:166

Sites cache for quick access to site and monitor data without database queries.

Remarks

Provides fast, in-memory access to site configurations and monitor definitions, reducing database load during frequent monitoring operations.


statusUpdateService

statusUpdateService: MonitorStatusUpdateService

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:176

Status update service for safe concurrent status updates.

Remarks

Provides operation-aware status updates that prevent race conditions when multiple monitor checks might attempt to update the same monitor's status simultaneously.


timeoutManager

timeoutManager: OperationTimeoutManager

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:185

Timeout manager for operation cleanup and resource management.

Remarks

Manages operation timeouts, cleanup procedures, and ensures resources are properly released when monitor operations complete or are cancelled.