Bug #8931

Updated by Brett Smith about 4 years ago

EventClient and PollClient in the Python SDK should be catching exceptions in a couple of places that it currently does not, which results in the event thread crashing and thing that depend on it getting wedged:

* The callback to user code, to avoid crashing the event handler thread
** When this happens, call @thread.interrupt_main()@ to raise an exception in the main thread, and force it to deal with the error.
* When PollClient makes calls to the API server
** Use the same style of RetryLoop that one_task_per_input_file uses. It can retry infinitely, but take care that the backoff numbers make sense.
* Test that PollClient retries API failures.