Skip to content

wilkques/php-task-pool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Pool for PHP

TESTS Latest Stable Version License

Installation

composer require wilkques/task-pool

How to use

use Wilkques\TaskPool\Contracts\TaskContract;
use Wilkques\TaskPool\Exceptions\ForkRunTimeException;

class TaskOne implements TaskContract
{
    public function handle()
    {
        // ... do something

        return $result;
    }
    
    public function resolved($result, $index)
    {
        // ... do something

        return $result;
    }
    
    public function rejected(ForkRunTimeException $forkRunTimeException)
    {
        // ... do something

        return $forkRunTimeException;
    }
}

class TaskTwo implements TaskContract
{
    public function handle()
    {
        // ... do something

        return $result;
    }
    
    public function resolved($result, $index)
    {
        // ... do something

        return $result;
    }
    
    public function rejected(ForkRunTimeException $forkRunTimeException)
    {
        // ... do something

        return $forkRunTimeException;
    }
}

class TaskThree implements TaskContract
{
    public function handle()
    {
        // ... do something

        return $result;
    }
    
    public function resolved($result, $index)
    {
        // ... do something

        return $result;
    }
    
    public function rejected(ForkRunTimeException $forkRunTimeException)
    {
        // ... do something

        return $forkRunTimeException;
    }
}

$taskOne = new TaskOne;

$taskTwo = new TaskTwo;

$taskThree = new TaskThree;

$taskPool = new TaskPool;

$taskPool->task($taskOne)->task($taskTwo)->task($taskThree);

// or

$taskPool->tasks(
    array(
        $taskOne,
        $taskTwo,
        $taskThree,
    )
);

// run handle
$taskPool->handle();

// if has return
$taskPool->results();

Options

  1. memory memory size default 1024
  2. timeout set timeout microseconds default 100000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages