mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-30 00:46:04 +03:00
48 lines
875 B
PHP
48 lines
875 B
PHP
|
<?php
|
||
|
|
||
|
namespace Guzzle\Batch;
|
||
|
|
||
|
/**
|
||
|
* Divides batches into smaller batches under a certain size
|
||
|
*/
|
||
|
class BatchSizeDivisor implements BatchDivisorInterface
|
||
|
{
|
||
|
/** @var int Size of each batch */
|
||
|
protected $size;
|
||
|
|
||
|
/** @param int $size Size of each batch */
|
||
|
public function __construct($size)
|
||
|
{
|
||
|
$this->size = $size;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the size of each batch
|
||
|
*
|
||
|
* @param int $size Size of each batch
|
||
|
*
|
||
|
* @return BatchSizeDivisor
|
||
|
*/
|
||
|
public function setSize($size)
|
||
|
{
|
||
|
$this->size = $size;
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the size of each batch
|
||
|
*
|
||
|
* @return int
|
||
|
*/
|
||
|
public function getSize()
|
||
|
{
|
||
|
return $this->size;
|
||
|
}
|
||
|
|
||
|
public function createBatches(\SplQueue $queue)
|
||
|
{
|
||
|
return array_chunk(iterator_to_array($queue, false), $this->size);
|
||
|
}
|
||
|
}
|