BatchAbstract
Overview #
BatchAbstract is the base class for creating batch processing nodes. Batch nodes process multiple items from an array sequentially or in parallel.
Purpose:
- Process arrays of items
- Split large datasets into smaller chunks
- Iterate over collections
Location: orchesty-php-sdk/src/Batch/BatchAbstract.php
Class Hierarchy #
BatchAbstract
Implements: BatchInterface
Uses traits:
CommonNodeTrait- Application managementConnectorTrait- HTTP client management
Abstract Methods #
processAction() #
abstract public function processAction(BatchProcessDto $dto): BatchProcessDto
Process a batch of items. Called for each item in the batch.
Parameters:
| Parameter | Type | Description |
|---|---|---|
| $dto | BatchProcessDto | Batch process DTO with item data |
Returns: BatchProcessDto - Modified batch DTO
Usage Example #
<?php declare(strict_types=1);
namespace YourApp\Batch;
use Hanaboso\CommonsBundle\Process\BatchProcessDto;
use Hanaboso\PipesPhpSdk\Batch\BatchAbstract;
final class ProcessUsersBatch extends BatchAbstract
{
public function getName(): string
{
return 'process-users-batch';
}
public function processAction(BatchProcessDto $dto): BatchProcessDto
{
// Get item from batch
$item = $dto->getItem();
// Process item
$processed = [
'id' => $item['id'],
'name' => strtoupper($item['name']),
'processed_at' => time(),
];
// Set processed data
$dto->setItem($processed);
return $dto;
}
}
Service Registration #
services:
hbpf.batch.process-users:
class: YourApp\Batch\ProcessUsersBatch
tags: ['hbpf.batch']
See Also #
- BatchProcessDto - Batch data transfer object
- CommonNodeAbstract - General custom nodes
- ConnectorAbstract - Connector pattern