Add some backoff to the scheduler to prevent tight-looping.

If Error could generate log messages, it seems like it should be called before backoff, here and below.