Skip to content

Conversation

@thekid
Copy link
Member

@thekid thekid commented Nov 24, 2014

This PR implements #4 and allows distributing elements from a sequence on workers by using Sequence::distribute():

$workers= [
  new LocalWorkerProcess('com.example.parallel.ImageResizer', [800, 600]),
  new LocalWorkerProcess('com.example.parallel.ImageResizer', [800, 600])
];

Sequence::of(new IOCollectionIterator($dir))
  ->filter(new ExtensionEqualsFilter('.jpg'))
  ->map(function($e) { return $e->getUri(); })
  ->distribute(new WorkerProcesses($workers))
  ->each('util.cmd.Console::writeLine')
;

foreach ($workers as $worker) {
  $worker->shutdown();
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants