WP_Background_Process::handle PHP Method

handle() protected method

Pass each queue item to the task handler, while remaining within server memory and time limit constraints.
protected handle ( )
        protected function handle()
        {
            $this->lock_process();
            do {
                $batch = $this->get_batch();
                foreach ($batch->data as $key => $value) {
                    $task = $this->task($value);
                    if (false !== $task) {
                        $batch->data[$key] = $task;
                    } else {
                        unset($batch->data[$key]);
                    }
                    if ($this->time_exceeded() || $this->memory_exceeded()) {
                        // Batch limits reached.
                        break;
                    }
                }
                // Update or delete current batch.
                if (!empty($batch->data)) {
                    $this->update($batch->key, $batch->data);
                } else {
                    $this->delete($batch->key);
                }
            } while (!$this->time_exceeded() && !$this->memory_exceeded() && !$this->is_queue_empty());
            $this->unlock_process();
            // Start next batch or complete process.
            if (!$this->is_queue_empty()) {
                $this->dispatch();
            } else {
                $this->complete();
            }
            wp_die();
        }