automatewoo/includes/Jobs/AbstractRecurringOneTimeActionSchedulerJob.php
fei-source 47d3c9a8b6 Update to v6.2.2
Source: GrootMade/Festinger Vault
2026-03-15 08:31:15 +08:00

45 lines
1.3 KiB
PHP

<?php
namespace AutomateWoo\Jobs;
defined( 'ABSPATH' ) || exit;
/**
* A Recurring Job without Batches.
*
* The way it works:
* - Since it's a recurrent, JobService Schedules the job on WordPress "init" on the specified interval.
* - We define the get_process_item_hook() as a hook in get_scheduled_hook() to be triggered when the scheduled action runs.
* - When get_process_item_hook() is triggered, handle_process_item() is called.
* - In handle_process_item() we call directly the validate_item() and process_item() methods.
*
* @since 6.0.0
*/
abstract class AbstractRecurringOneTimeActionSchedulerJob extends AbstractOneTimeActionSchedulerJob implements RecurringJobInterface {
/**
* Get the start hook name for this Job.
* In this kind of jobs we want to use just the `automatewoo/jobs/{job_name}`.
*/
public function get_process_item_hook() {
return 'automatewoo/jobs/' . $this->get_name();
}
/**
* We trigger process item hook on each scheduled action.
*/
public function get_schedule_hook() {
return $this->get_process_item_hook();
}
/**
* In this kind of jobs we don't need validation.
*
* @param array $item
*
* @return bool Always true in this kind of Jobs.
*/
protected function validate_item( array $item ) {
return true;
}
}