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 &&”.”)
Вот и все.