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 management
  • ConnectorTrait - 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:

ParameterTypeDescription
$dtoBatchProcessDtoBatch 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 #

© 2025 Orchesty Solutions. All rights reserved.