Class JobChecker

Class Documentation

class JobChecker

Comprehensive job status checking and file organization system.

The JobChecker class provides a complete solution for analyzing Gaussian calculation job status and organizing files based on their completion state. It supports multiple checking modes and provides detailed reporting and statistics for job management workflows.

Features

  • Multi-threaded job status analysis with resource management

  • Automatic file organization based on job status

  • Comprehensive error detection and reporting

  • Integration with job scheduler resource limits

  • Progress reporting for large job sets

  • Thread-safe operation for concurrent processing

Modes

  • check_completed_jobs(): Organize successfully completed calculations

  • check_error_jobs(): Organize jobs that terminated with errors

  • check_pcm_failures(): Specifically handle PCM convergence failures

  • check_all_job_types(): Comprehensive checking of all job types

Management

The JobChecker uses the ProcessingContext to coordinate resource usage:

  • Memory usage monitoring and limiting

  • File handle management to prevent exhaustion

  • Thread-safe error collection and reporting

  • Integration with system and job scheduler limits

Note

All checking operations are designed to be safe and reversible, with comprehensive logging and error reporting

Public Functions

explicit JobChecker(std::shared_ptr<ProcessingContext> ctx, bool quiet = false, bool show_details = false)

Constructor with processing context and display options.

Creates a JobChecker instance with the specified processing context and display preferences. The processing context provides access to shared resource managers and coordination with other system components.

Parameters:
  • ctx – Shared processing context for resource coordination

  • quiet – Suppress non-essential output (default: false)

  • show_details – Display detailed error messages (default: false)