44 lines
No EOL
1.3 KiB
PHP
Executable file
44 lines
No EOL
1.3 KiB
PHP
Executable file
#!/usr/bin/php
|
|
<?php
|
|
require_once(__DIR__ . "/find-autoloader.php");
|
|
|
|
use Benzine\App;
|
|
use Benzine\Services\QueueService;
|
|
use jc21\CliTable;
|
|
|
|
$timeAgo = new Westsworld\TimeAgo();
|
|
|
|
/** @var QueueService $queueService */
|
|
$queueService = App::DI(QueueService::class);
|
|
|
|
while(true) {
|
|
$data = [];
|
|
foreach($queueService->listLists() as $list){
|
|
$data[] = [
|
|
"name" => $list,
|
|
"length" => $queueService->getQueueLength($list),
|
|
"peak" => $queueService->getQueueLengthPeak($list),
|
|
"firstSeen" => $timeAgo->inWords($queueService->getQueueCreatedAgo($list)),
|
|
"lastSeen" => $timeAgo->inWords($queueService->getQueueUpdatedAgo($list)),
|
|
];
|
|
}
|
|
|
|
$rowsCount = count($data) + 4;
|
|
|
|
$table = new CliTable;
|
|
$table->setTableColor('blue');
|
|
$table->setHeaderColor('cyan');
|
|
$table->addField("Queue Name", "name", false, "white");
|
|
$table->addField("Length", "length", false, "blue");
|
|
$table->addField("Peak", "peak", false, "blue");
|
|
$table->addField("Queue Existed Since", "firstSeen", false, "red");
|
|
$table->addField("Queue Updated Last", "lastSeen", false, "green");
|
|
$table->injectData($data);
|
|
$table->display();
|
|
sleep(1);
|
|
for($i = 0; $i < $rowsCount; $i++){
|
|
echo "\033[2K";
|
|
echo "\033[1A";
|
|
}
|
|
|
|
} |