def METHOD_NAME(self) -> TLoadJobState:
    # this should poll the server for a job status, here we simulate various outcomes
    if self._status == "running":
        n = pendulum.now().timestamp()
        if n - self.start_time > self.config.timeout:
            self._status = "failed"
            self._exception = "failed due to timeout"
        else:
            c_r = random.random()
            if self.config.completed_prob >= c_r:
                self._status = "completed"
            else:
                c_r = random.random()
                if self.config.retry_prob >= c_r:
                    self._status = "retry"
                    self._exception = "a random retry occured"
                else:
                    c_r = random.random()
                    if self.config.fail_prob >= c_r:
                        self._status = "failed"
                        self._exception = "a random fail occured"
    return self._status