Is there a way in upstart to code an event to start when network connectivity to a specific machine becomes available? Something based on a ping result would work in my case. The task being started will crash if networking dies, so respawn can start it easily enough, but if the network connection isn't available when it starts it will hang and upstart won't catch it (it's an ffmpeg instance streaming from the local ffserver to another ffserver if that helps highlight the use case).
If you know the IP address of the machine you can confirm it's the 'right' machine by confirming the MAC address with something like:
You will likely need to ping it first so that arp can find it.
Here's a script I'm using that does the same thing: