public function send(array $items)
    {
        $start = microtime(true);
        try {
            call_user_func_array($this->getCallback(), [$items]);
        } catch (\Exception $e) {
            if ($this->debugOutput) {
                fwrite(
                    $this->debugOutputResource,
                    $e->getMessage() . PHP_EOL . PHP_EOL
                    . $e->getTraceAsString() . PHP_EOL
                );
            }

            return false;
        }
        $end = microtime(true);
        if ($this->debugOutput) {
            fwrite(
                $this->debugOutputResource,
                sprintf(
                    '%f seconds for %s: %d items' . PHP_EOL,
                    $end - $start,
                    $this->batchMethod,
                    count($items)
                )
            );
            fwrite(
                $this->debugOutputResource,
                sprintf(
                    'memory used: %d' . PHP_EOL,
                    memory_get_usage()
                )
            );
        }

        return true;
    }