An open API service indexing awesome lists of open source software.

https://github.com/phpgt/daemon

Background process execution.
https://github.com/phpgt/daemon

background-jobs background-task exec pipes process subshell windows

Last synced: about 2 months ago
JSON representation

Background process execution.

Awesome Lists containing this project

README

        

Background process execution.
=============================

Execute background processes asynchronously using an object oriented process pool.

***


Build status


Code quality


Code coverage


Current version


PHP.G/Daemon documentation

## Example usage

```php
add("Ping", $pingProcess);
$pool->add("Loop", $infiniteProcess);
$pool->add("Date", $dateProcess);

// Start the execution of all processes:
$pool->exec();

// While processes are running, write their output to the terminal:
do {
echo $pool->read();
// Sleep to avoid hogging the CPU.
sleep(1);
}
while($pool->numRunning() > 0);
```

Outputs something similar to:

```
[Ping] PING google.com (172.217.169.78) 56(84) bytes of data.
[Ping] 64 bytes from lhr48s09-in-f14.1e100.net (172.217.169.78): icmp_seq=1 ttl=52 time=8.78 ms
[Loop] background...
[Date] Mon 19 Aug 09:58:54 BST 2019
[Ping] 64 bytes from lhr48s09-in-f14.1e100.net (172.217.169.78): icmp_seq=2 ttl=52 time=8.75 ms
[Ping] 64 bytes from lhr48s09-in-f14.1e100.net (172.217.169.78): icmp_seq=3 ttl=52 time=8.75 ms
[Date] Mon 19 Aug 09:58:56 BST 2019
[Ping] 64 bytes from lhr48s09-in-f14.1e100.net (172.217.169.78): icmp_seq=4 ttl=52 time=8.75 ms
[Loop] background...
[Ping] 64 bytes from lhr48s09-in-f14.1e100.net (172.217.169.78): icmp_seq=5 ttl=52 time=8.80 ms
[Date] Mon 19 Aug 09:58:58 BST 2019
```

Notice how the date process is only set to loop three times, and after it is complete the other two infinite processes continue to run.