Automattic\WooCommerce\Internal\Email

DeferredEmailQueue::dispatchpublicWC 1.0

Dispatch queued emails via Action Scheduler on shutdown.

Each email is scheduled as an individual AS action for atomic processing and per-email failure isolation.

Method of the class: DeferredEmailQueue{}

No Hooks.

Returns

null. Nothing (null).

Usage

$DeferredEmailQueue = new DeferredEmailQueue();
$DeferredEmailQueue->dispatch(): void;

DeferredEmailQueue::dispatch() code WC 10.9.1

public function dispatch(): void {
	if ( empty( $this->queue ) ) {
		return;
	}

	foreach ( $this->queue as $item ) {
		\WC()->queue()->add(
			self::AS_HOOK,
			array( $item['filter'], $item['args'] ),
			self::AS_GROUP
		);
	}

	$this->queue               = array();
	$this->shutdown_registered = false;
}