File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/includes/SystemChecks/CronRunning.php
<?php
// phpcs:ignoreFile
namespace AutomateWoo\SystemChecks;
if ( ! defined( 'ABSPATH' ) ) exit;
/**
 * CronRunning system check class.
 *
 * @package AutomateWoo\SystemChecks
 */
class CronRunning extends AbstractSystemCheck {
	/**
	 * AW_System_Check_Cron_Running constructor.
	 */
	function __construct() {
		$this->title = __( 'WP Cron', 'automatewoo' );
		$this->description = __( 'Checks the dates of scheduled events to see if they are processing.', 'automatewoo' );
		$this->high_priority = true;
	}
	/**
	 * Perform the check
	 */
	function run() {
		$failed = 0;
		$two_hours_ago = time() - ( HOUR_IN_SECONDS * 2 );
		$crons = [
			wp_next_scheduled('automatewoo_events_worker'),
			wp_next_scheduled('automatewoo_two_minute_worker'),
			wp_next_scheduled('automatewoo_hourly_worker'),
			wp_next_scheduled('automatewoo_five_minute_worker'),
		];
		foreach ( $crons as $time ) {
			if ( ! $time ) {
				continue;
			}
			if ( $two_hours_ago > $time ) {
				$failed++;
			}
		}
		if ( $failed > 2 ) {
			return $this->error( __( "WP Cron does not appear to be running. This function is heavily relied upon by AutomateWoo. Please contact your hosting provider to resolve the issue.", 'automatewoo' ) );
		}
		return $this->success();
	}
}