HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/local/wp/vendor/wp-cli/doctor-command/src/Check/Cron_Duplicates.php
<?php

namespace WP_CLI\Doctor\Check;

use WP_CLI;

/**
 * Errors when there's an excess of %threshold_count% duplicate cron jobs registered.
 */
class Cron_Duplicates extends Cron {

	/**
	 * Warn when there are greater than this number of duplicates.
	 *
	 * @var integer
	 */
	protected $threshold_count = 10;

	public function run() {
		$crons             = self::get_crons();
		$job_counts        = array();
		$excess_duplicates = false;
		foreach ( $crons as $job ) {
			if ( ! isset( $job_counts[ $job['hook'] ] ) ) {
				$job_counts[ $job['hook'] ] = 0;
			}
			++$job_counts[ $job['hook'] ];
			if ( $job_counts[ $job['hook'] ] >= $this->threshold_count ) {
				$excess_duplicates = true;
			}
		}
		if ( $excess_duplicates ) {
			$this->set_status( 'error' );
			$this->set_message( "Detected {$this->threshold_count} or more of the same cron job." );
		} else {
			$this->set_status( 'success' );
			$this->set_message( 'All cron job counts are within normal operating expectations.' );
		}
	}
}