bitandblack / process-log
帮助记录多个可能异步运行的过程
1.0.0
2022-03-10 07:31 UTC
Requires
- php: >=7.4
- bitandblack/helpers: ^1.0
- symfony/console: ^6.0
- symfony/lock: ^6.0
Requires (Dev)
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.0
- rector/rector: ^0.12
- spatie/async: ^1.0
- symplify/easy-coding-standard: ^10.0
README
Bit&Black进程日志。
通过在文件中写入和读取状态来帮助记录多个可能异步运行的过程。
安装
此库是为与 Composer 一起使用而制作的。通过运行 $ composer require bitandblack/process-log
将其添加到您的项目中。
使用方法
1. 设置和更新进程
设置一个进程写入器,具有一个唯一的ID和一个可以存储所有进程的文件夹
<?php
use BitAndBlack\ProcessLog\ProcessWriter;
$processWriter = new ProcessWriter(
'MyUniqueProcessId',
'/myProcessesFolder'
);
创建一个状态对象并告诉它一些信息
<?php
use BitAndBlack\ProcessLog\Status\Message;
$status = new Message('Here is my status');
您还可以创建一个进度条。设置总步骤数
<?php
use BitAndBlack\ProcessLog\Status\Bar;
$status = new Bar(100);
在您的操作中的每个步骤中,使用进程写入器存储状态
<?php
foreach ($myAction as $step) {
/** Do something here... */
$processWriter->log($status);
}
如果您有一个进度条,可以通过调用 $status->advance()
来更新计数。
最后清除进程
<?php
$processWriter->clear();
2. 监视所有进程
要监视您进程的状态,您需要使用ProcessWatcher。使用进程文件夹和输出对象进行设置。
输出对象需要实现 Symfony\Component\Console\Output\OutputInterface
。
<?php
use BitAndBlack\ProcessLog\ProcessWatcher;
$processWatcher = new ProcessWatcher(
'/myProcessesFolder',
$myOutputObject
);
之后,定义您想要刷新状态输出的时间间隔,定义一个初始等待时间,然后启动监视器。
时间单位是微秒
<?php
$processWatcher
->setInterval(1000000)
->setTimeOut(2000000)
->watch()
;
监视器将运行,直到您的进程文件夹中还有文件,然后退出。
帮助
如果您有任何问题,请随时通过 hello@bitandblack.com
联系我们。
有关Bit&Black的更多信息,可以在 www.bitandblack.com 找到。