When using Jenkins to run automatic tasks, it's almost foolproof. Unfotunately, there's a loophole: if a slave goes offline, the job will just stay in waiting state. It's not acceptable for critical tasks (backups, etc). They should either run in time or fail.
Thus, this feature request. Please add an option to fail a build when it cannot run.