Call the `do_work` method on `self.job` and assign the results to `self.job.result`.
If an exception is raised by the `do_work` method, catch it and set `self.job.error` equal to it.
After `do_work` finishes set `self.job.is_complete` equal to True.
defstop(self)
Call the `stop` method on `self.job` if the job is running.