Core/bin/queue-status

44 lines
1.3 KiB
Text
Raw Normal View History

2020-06-24 10:16:18 +00:00
#!/usr/bin/php
<?php
require_once(__DIR__ . "/find-autoloader.php");
2020-06-24 10:16:18 +00:00
use Benzine\App;
use Benzine\Services\QueueService;
use jc21\CliTable;
$timeAgo = new Westsworld\TimeAgo();
/** @var QueueService $queueService */
$queueService = App::DI(QueueService::class);
2020-06-24 10:16:18 +00:00
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);
2020-11-24 11:19:20 +00:00
for($i = 0; $i < $rowsCount; $i++){
2020-06-24 10:16:18 +00:00
echo "\033[2K";
echo "\033[1A";
}
}