b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / app / code / Amasty / Paction / Model / Collection /
Filename/home/dev2.destoffenstraat.com/app/code/Amasty/Paction/Model/Collection/BatchLoader.php
Size886
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified26-Jul-2025 18:05
Last accessed22-Aug-2025 09:16
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

declare(strict_types=1);

/**
* @author Amasty Team
* @copyright Copyright (c) 2023 Amasty (https://www.amasty.com)
* @package Mass Product Actions for Magento 2
*/

namespace Amasty\Paction\Model\Collection;

use Magento\Framework\Data\Collection;

class BatchLoader
{
private const BATCH_SIZE = 200;

public function load(Collection $collection, ?int $batchSize = self::BATCH_SIZE): \Generator
{
$currentPage = 1;
$collection->setPageSize($batchSize);
$collection->setCurPage($currentPage);
$totalPagesCount = $collection->getLastPageNumber();

while ($currentPage <= $totalPagesCount) {
$collection->clear();
$collection->setCurPage($currentPage);

foreach ($collection->getItems() as $item) {
yield $item;
}

$currentPage++;
}
}
}