Skip to content

Simple class to fork processes in PHP and allow multi-threading

License

Notifications You must be signed in to change notification settings

bethrezen/fork-helper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fork-helper

Simple class to fork processes in PHP and allow multi-threading

Build Status Latest Stable Version

Public Methods

  • call(callable $func): int - Calls the specified function in a new thread, and returns the pid of the created thread.
  • wait(): int - Waits for the threads created by the call() method to finish. Returns 0 if all threads completed succesfully, otherwise it will return the exit code of an failed thread.

Public Properties

  • ignoreErrors: boolean - False by default, this will cause the wait() method to throw an exception for any threads with an exit status above 0. If this property is set to true then wait() will not throw an exception but just return the exit status of a failed thread.

Examples

$fork = new \duncan3dc\Helpers\Fork;

$fork->call(function() {
	for($i = 1; $i <= 3; $i++) {
		echo "Process A - " . $i . "\n";
		sleep(1);
	}
});
$fork->call(function() {
	for($i = 1; $i < 3; $i++) {
		echo "Process B - " . $i . "\n";
		sleep(1);
	}
});

sleep(1);
echo "Waiting for the threads to finish...\n";
$fork->wait();
echo "End\n";

About

Simple class to fork processes in PHP and allow multi-threading

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 97.0%
  • Shell 3.0%