xtompie / monitor
Monitor long running script
1.3
2024-05-01 20:51 UTC
README
Monitor long running script
Requirments
- PHP >= 8
Installation
Using composer
composer require xtompie/monitor
Doc
Basic exmaple
<?php use Xtompie\Monitor\Monitor; $monitor = new Monitor(name: 'import', stdout: true, frequency: 1); foreach (input() as $input) { $imported = import($input); $imported ? $monitor->up('done') : $monitor->up('skip'); } $monitor->show();
It will generator output in stdout:
#import | 2023-12-23 12:06:06 | 2023-12-23 12:06:10 | 0:00:00:04 | 2 mb | done: 2
#import | 2023-12-23 12:06:06 | 2023-12-23 12:06:12 | 0:00:00:06 | 2 mb | done: 5
#import | 2023-12-23 12:06:06 | 2023-12-23 12:06:12 | 0:00:00:06 | 2 mb | done: 5 | skip: 3
A new line with the monitor status is generated not more frequently than frequency
.
For more check source code: Monitor
Creating specific monitor
<?php use Xtompie\Monitor\Monitor; class ImportMonitor extends Monitor { public function done(): void { $this->up('done'); } public function skip(): void { $this->up('skip'); } }