Evaluating this module tells you whether MY handin-server is still running:
(module check-handin-server mzscheme
(require (lib "client.ss" "cp-csc43002061")
(lib "monitor-emailer.ss" "web-server")
(lib "monitor-poke-web-server.ss" "web-server"))
(define server "jblomconts.dyndns.org")
(define port 7981)
(define pem-path (build-path (collection-path "cp-csc43002061") "server-cert.pem"))
(with-handlers ([exn:fail? (lambda (exn) (send-email-alert "clorents@csc.calpoly.edu" server port (exn-message exn)))])
(handin-disconnect (handin-connect server port pem-path)))
)
You'll need to customize it to refer to your installation of the handin-client, your
server-certificate, your server, your port, and your e-mail. Ha!
Note: you could do lots better than this by actually handing something in; this script
just makes the connection and then breaks it.
I have the following line in my crontab:
57 * * * * /Applications/PLT\ Scheme\ v301/bin/mzscheme -Tmv /Users/clements/bin/check-handin-server.ss