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:
field max_old_tasks: int = 5

Maximum number of tasks older than threshold

field max_pending_tasks: int = 20

Maximum number of tasks in Created or Started state

field max_task_age_minutes: int = 15

Maximum age of tasks in minutes

field warning_pending_tasks: int = 10

Warning threshold for pending tasks

analyze(data)

Analyzes queue health metrics for potential issues.

Return type:

list[CheckResult]

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.

Fields:
field max_copy_tasks: int = 15

Maximum number of copy/copy-v2 tasks

field max_delete_tasks: int = 20

Maximum number of delete/delete-v2 tasks

field max_download_tasks: int = 20

Maximum number of download/download-v2 tasks

field max_sizing_tasks: int = 10

Maximum number of sizing tasks

analyze(data)

Analyzes task type distribution for potential accumulation issues.

Return type:

list[CheckResult]

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)