neoglez/batch-manager

The BatchManager is an attempt to port the Drupal Batch API to the Zend Framework 2 event-driven, service-oriented arquitecture.

1.0.0 2015-09-18 09:50 UTC

This package is not auto-updated.

Last update: 2024-04-13 13:25:38 UTC


README

Build Status Code Coverage Scrutinizer Code Quality

Introduction

The BatchManager is an attempt to port the Drupal Batch API to the Zend Framework 3 event-driven, service-oriented arquitecture. The batch manager can be used to simulate or even implement asynchronous processing. It also tries to solve (in a rather naive way) the problem of scalability in a PHP environment where you usually have to increase the maximum execution time to accomplish a task depending on the size of some input. The Drupal Batch API is a very simple but powerful idea for a lot of practical use cases. If you are not familiar with it [go and give it a try] (https://www.drupal.org/node/180528). So why then write this module? Well, Drupal Batch API depends on Drupal, which is a framework but also a CMS, so in my opinion it isn’t flexible enough; I also think that Drupal’s hook-philosophy reassemble that of an event driven, but with some limitations so this module aims to decouple the functionality while using the comprehensive ZF2 EventManager component.

Installation

Main setup

With composer

  1. Load neoglez/batch-manager in your composer.json file.

    "require": {
        "neoglez/batch-manager": "dev-master"
    }
  2. Update composer

$ php composer.phar update

By cloning project

If you do not want to use composer, clone this project (either as a git submodule or not) into ./vendor/ directory.

Post installation

  1. Enable BatchManager in your application.config.phpfile.

    <?php
    return array(
        'modules' => array(
            // ...
            'BatchManager',
        ),
        // ...
    );
  2. To be able to use the assets under /batch-manager/public you can either install the module AssetManager or copy the files to your public directory.

Creating the table

You must create the required table in order to use the default BatchManager\Mapper\DbBatchMapper. You may use the schema located in data/batch.sql.

>mysql database < data/batch.sql