duration>seconds elapsed-time ;
M: timestamp elapsed-time
- now swap time- elapsed-time ;
+ ago elapsed-time ;
! XXX: Anything up to 2 hours is "about an hour"
: relative-time-offset ( seconds -- string )
duration>seconds relative-time ;
M: timestamp relative-time
- now swap time- relative-time ;
+ ago relative-time ;
] each ;
: site-up-email ( site -- body )
- last-up>> now swap time- duration>minutes 60 /mod
+ last-up>> ago duration>minutes 60 /mod
[ >integer number>string ] bi@
[ " hours, " append ] [ " minutes" append ] bi* append
"Site was down for (at least): " prepend ;
10 rem zero? [ ":" ] [ "." ] if write flush
] each
! Calculate and report duration of batch
- now swap time- duration>milliseconds "Total elapsed time: %d msec\n" printf
+ ago duration>milliseconds "Total elapsed time: %d msec\n" printf
drop
] with-destructors ;