WordPress at Your Fingertips
function is not described

ActionScheduler_QueueRunner::do_batch() protected WC 1.0

Process a batch of actions pending in the queue.

Actions are processed by claiming a set of pending actions then processing each one until either the batch size is completed, or memory or time limits are reached, defined by @see $this->batch_limits_exceeded().

{} It's a method of the class: ActionScheduler_QueueRunner{}

No Hooks.


Int. The number of actions processed.


// protected - for code of main (parent) or child class
$result = $this->do_batch( $size, $context );
The maximum number of actions to process in the batch.
Default: 100
Optional identifer for the context in which this action is being processed, e.g. 'WP CLI' or 'WP Cron' Generally, this should be capitalised and not localised as it's a proper noun.
Default: ''

Code of ActionScheduler_QueueRunner::do_batch() WC 6.1.1

protected function do_batch( $size = 100, $context = '' ) {
	$claim = $this->store->stake_claim($size);
	$processed_actions = 0;

	foreach ( $claim->get_actions() as $action_id ) {
		// bail if we lost the claim
		if ( ! in_array( $action_id, $this->store->find_actions_by_claim_id( $claim->get_id() ) ) ) {
		$this->process_action( $action_id, $context );

		if ( $this->batch_limits_exceeded( $processed_actions ) ) {
	return $processed_actions;