domino_admin_toolkit.checks.test_filetask_queue_status module
Filetask Queue Monitoring Test
This module provides comprehensive monitoring of the Domino filetask queue to detect: - Queue blockages and task accumulation - Tasks stuck in Created/Started states for extended periods - Imbalanced task type distribution that may indicate processing issues - Overall queue health metrics and performance indicators
The test connects to the filetask PostgreSQL database and analyzes pending tasks to ensure the filetask service is processing tasks efficiently.
- pydantic model domino_admin_toolkit.checks.test_filetask_queue_status.FiletaskQueueAnalyzer
Bases:
AnalyzerBase
Analyzes overall filetask queue health and performance.
Monitors total queue size, task aging, and accumulation of old tasks to detect processing bottlenecks and service degradation.
- Fields:
- analyze(data)
Analyzes queue health metrics for potential issues.
- Return type:
- Args:
data: Dictionary containing queue summary data
- Returns:
list[CheckResult]: Analysis results with PASS/FAIL/WARN status
- name: ClassVar[str] = 'FiletaskQueueAnalyzer'
- pydantic model domino_admin_toolkit.checks.test_filetask_queue_status.FiletaskTypeDistributionAnalyzer
Bases:
AnalyzerBase
Analyzes task type distribution to detect processing imbalances.
Monitors accumulation of specific task types (copy, download, sizing, delete) which may indicate processing bottlenecks or service failures for particular operation types.
- analyze(data)
Analyzes task type distribution for potential accumulation issues.
- Return type:
- Args:
data: Dictionary containing task summary data including task_types
- Returns:
list[CheckResult]: Analysis results with PASS/FAIL/WARN status
- name: ClassVar[str] = 'FiletaskTypeDistributionAnalyzer'
- domino_admin_toolkit.checks.test_filetask_queue_status.filetask_queue_data()
Pytest fixture for filetask queue data.
- domino_admin_toolkit.checks.test_filetask_queue_status.filetask_queue_summary(filetask_queue_data)
Generates aggregated summary statistics from filetask queue data.
Calculates key metrics including task counts by status, age statistics, task type distribution, and identifies tasks exceeding age thresholds.
- Args:
filetask_queue_data: DataFrame from filetask_queue_data fixture
- Returns:
pd.DataFrame: Single-row DataFrame containing summary metrics for analysis
- domino_admin_toolkit.checks.test_filetask_queue_status.get_filetask_queue_data()
Regular function version of filetask_queue_data for unit testing.
- domino_admin_toolkit.checks.test_filetask_queue_status.get_filetask_queue_summary(queue_data)
Regular function version of filetask_queue_summary for unit testing.
- domino_admin_toolkit.checks.test_filetask_queue_status.test_filetask_queue_status(filetask_queue_data, filetask_queue_summary)
- Description:
Monitors the Domino filetask queue to detect processing bottlenecks and service degradation. Analyzes pending tasks in Created/Started states, checks for task accumulation, validates task type distribution, and identifies tasks exceeding age thresholds. https://support.domino.ai/support/s/article/Is-filetask-stuck-datasets-admin-page-showsDeletionsInProgress-Users-see-sizing-in-Pending
- Result:
PASS: Filetask queue is processing efficiently with no accumulation or old tasks WARN: Queue approaching thresholds or individual tasks aging beyond limits FAIL: Queue blocked, excessive task accumulation, or critical thresholds exceeded SKIP: If filetask database is unavailable or tasks table doesn’t exist
- Thresholds:
Max pending tasks: 20 (warning at 10)
Max task age: 15 minutes
Old task threshold: 720 minutes (max 5 old tasks)
Task type limits: Copy(15), Download(20), Sizing(10), Delete(20)