Eggplant - время работы скрипта

21 03 2008

В предыдущей статье я назвал рубрику “Eggplant” бесполезной. Это не значит, что баклажан - никому не нужный инструмент, просто я не уверен, что найдется много русскоязычных пользователей. Но тем не менее я решил публиковать интересные и (или) полезные заметки, куски кода и т.п.

Таадаам! То бишь, начинаем. Бывает полезно знать, сколько же времени занимает работа скрипта. Особенно если вечером вы запускаете набор скриптов для тестирования и благополучно уходите домой, чтобы утром увидеть результаты их работы. Не так уж много кода потребуется, чтобы по окончании скрипта узнать, сколько же времени он работал.

(* Указываем время и дату начала скрипта: *)

log “Script started at “ && the time && “on” && the date –> вывод времени запуска в лог
put the time into startTime –> Время старта в переменную startTime
put the date into startDate –> Дата старта в переменную startDate
convert startTime to short time –> Конвертируем startTime в короткий формат
convert startDate to long date –> Конвертируем startDate в полный формат

(* Далее идет весь скрипт. *)
(* В конце скрипта указываем время окончания: *)

put the time into stopTime –> Время окончания скрипта в переменную stopTime

(* Далее при помощи банального вычитания вычисляем время работы скрипта и помещаем его в отдельную переменную. *)

put stopTime - startTime into durationTime –> помещаем разницу между временем окончания и временем старта скрипта в переменную durationTime
convert durationTime to long time –> Конвертируем время в переменной durationTime в полный формат

(* А вот тут начинается небольшое зло. *)
(* У Eggplant’a немножко свое предствление о времени, часовых поясах. *)
(* Поэтому к продолжительности скрипта будет добавлено два лишних часа *)
(* Ниже пара строк, которые позволят победить этот глюк *)

put formattedTime(“%H:%M:%S”, today - 12 hours + durationTime) into totalTime –> побеждаем глюк баклажана и помещаем общее время в переменную totalTime
log “Script duration” && totalTime && “.” –> Вывод продолжительности скрипта в лог.

(* Ну вот вроде и все *)
(* Но можно пойти дальше и отправить уведомление в почту. *)

sendMail (to: “name@yourdomain.com”,from: “eggplant@yourdomain.com“, subject: “Script Duration”, body: “Test finished. Script duration: ” && totalTime &&”.”)

Вот и все.

Понравилась статья - оставьте комментарий или подпишитесь на RSS.


Actions

Informations