Eggplant – время работы скрипта
Dmitro Podzyvalovsky | 21 Март 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 немножко свое предствление о времени, часовых поясах. *)
-
(* Поэтому к продолжительности скрипта будет добавлено два лишних часа *)
-
(* Ниже пара строк, которые позволят победить этот глюк *)
-
-
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 &&".")
Вот и все.
Popularity: unranked [?]