Показ времени работы процесса из БД php

161
12 ноября 2018, 12:10

Не могу никак сообразить.

В общем есть таблица в бд вида:

В ней логируется запуск, пауза, остановка процесса.

Хотелось бы узнать как мне посчитать время работы процесса, т.е. работа процесса это состояние 1, стоп и пауза это 2 и 0

Как узнать общее время работы процесса в виде 0:00:00:00 (дни:часы:минуты:секунды)

Answer 1

Общее время работы скрипта это сумма периодов от старта до паузы (остановки). Чтобы подсчитать это - выбираем все записи из БД для заданого процесса отсортированные по времени в порядке возрастания. А дальше простенький скрипт:

$worked = 0;
$in_process = false;
$start = time();
foreach ($rows as $row) {
    switch ($row['event']) {
        case 1:
            $start = $row['timestamp'];
            $in_process = true;
            break;
        defaut:
            $worked += $row['timestamp'] - $start;
            $in_process = false;
    }
}
if ($in_process) { // если скрипт сейчас в работе
    $worked += $time - $start; // учитываем время от последнего запуска до текущего времени
}
echo "Worked time in seconds: " . $worked; 
READ ALSO
Пустая кнопка в vk api

Пустая кнопка в vk api

вызываю метод

187
Как отправить PUT запрос c body через cUrl

Как отправить PUT запрос c body через cUrl

Не получается отправить запрос, PUT без body корректно работает, через POST body нормально отправляется, а вот body + PUT никак

184
Undefined column: 7 ERROR: column “lifeTime” of relation “ideas” does not exist laravel после переименования свойства

Undefined column: 7 ERROR: column “lifeTime” of relation “ideas” does not exist laravel после переименования свойства

Пытаюсь в миграции изменить свойство сущности, используя метод renameColumn()

362
Как вставить элекмент в этот блок (Wordpress)

Как вставить элекмент в этот блок (Wordpress)

Подскажите пожалуйста где можно найти файл где содержится этот блок элемента, мне нужно туда вставить свой текстовые элемент "Узнать размер"...

164