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:
AnalyzerBaseAnalyzes 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:
AnalyzerBaseAnalyzes 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(k8s_client)
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)