bitandblack/process-log

帮助记录多个可能异步运行的过程

资助包维护!
支持我

1.0.0 2022-03-10 07:31 UTC

This package is auto-updated.

Last update: 2024-09-10 13:04:33 UTC


README

PHP from Packagist Codacy Badge Total Downloads License

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 找到。