1. Go to this page and download the library: Download fsc/batch library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fsc / batch example snippets
use FSC\Batch\Batch;
use FSC\Batch\Event\ExecuteEvent;
$usersAdapter = ...;
$solrIndex = ...;
$batch = new Batch($usersAdapter, function (ExecuteEvent $event) use ($solrIndexer) {
$solrIndexer->indexUser($event->getContext());
});
$batch->run(10); // Execute in batch of 10
SC\Batch\Batch;
use FSC\Batch\Event\ExecuteEvent;
use FSC\Batch\EventListener\ProgressEventListener;
use Pagerfanta\Adapter\ArrayAdapter;
use Symfony\Component\Console\Output\ConsoleOutput;
$passwords = range(1, 100);
$hashes = array();
$batch = new Batch(new ArrayAdapter($passwords), function (ExecuteEvent $event) use (&$hashes) {
$hashes[] = crypt($event->getContext(), '$2a$10$');
});
$batch->getEventDispatcher()->addSubscriber(new ProgressEventListener(new ConsoleOutput()));
$batch->run(10);
use FSC\Batch\Batch;
use FSC\Batch\Command\BatchCommand;
use FSC\Batch\EventListener\DoctrineEventListener;
use FSC\Batch\Event\ContextEvent;
use Pagerfanta\Adapter\DoctrineORMAdapter;
class UserIndexSolrCommand extends BatchCommand
{
protected function createBatch()
{
$em = $this->getContainer()->get('doctrine')->getEntityManager();
$qb = $em->getRepository('User')->createQueryBuilder('u');
$batch = new Batch(new DoctrineORMAdapter($qb), array($this, 'indexUser'));
$batch->getEventDispatcher()->addSubscriber(new DoctrineEventListener($em));
return $batch;
}
public function indexUser(ContextEvent $event)
{
$user = $event->getContext();
// Index this user!
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.