docs: def status(self):
          """Return the job status as one of the codes defined in the
          `clusterjob.status` module.
          finished, communicate with the cluster to determine the job's status.
          """
          if self._status >= COMPLETED:
              return self._status
          else:
              cmd = self.backend.cmd_status(self, finished=False)
              response = self._run_cmd(cmd, self.remote, ignore_exit_code=True,
                                       ssh=self.ssh)
              status = self.backend.get_status(response, finished=False)
              if status is None:
                  cmd = self.backend.cmd_status(self, finished=True)
                  response = self._run_cmd(cmd, self.remote,
                                           ignore_exit_code=True, ssh=self.ssh)
                  status = self.backend.get_status(response, finished=True)
              prev_status = self._status
              self._status = status
              if self._status not in STATUS_CODES:
                  raise ValueError("Invalid status code %s", self._status)
              if prev_status != self._status:
                  if self._status >= COMPLETED:
                      self.run_epilogue()
                  self.dump()
              return self._status