phpgt/daemon
最新稳定版本:v1.1.4
Composer 安装命令:
composer require phpgt/daemon
包简介
Background script execution with cross-platform compatible streaming.
README 文档
README
Execute background processes asynchronously using an object oriented process pool.
Example usage
<?php use Gt\Daemon\Process; use Gt\Daemon\Pool; // Create three long-running processes: $pingProcess = new Process("ping google.com"); $infiniteProcess = new Process("while true; do echo 'background...'; sleep 3; done"); $dateProcess = new Process("while true; do echo $(date -d now); sleep 2; done"); // Add all three processes to a pool: $pool = new Pool(); $pool->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.
统计信息
- 总下载量: 8.85k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2019-04-03