If you wanted to watch for a dead gateway in real time, you would just have to put what I have done in a while loop and run it (no cron).
Ping is the only way I know of to watch for a dead gateway, unless you want to so some SNMP level programming, (which Python has a module for).