code: async def send_ssh_job_info(self, job_id: BackendJobId, host: str, port: int, key: str):
          
          if job_id not in self.__running_job:
              raise JobNotRunningException()
          if self.__running_job[job_id]:
              raise TooManyCallsException()
          self.__running_job[job_id] = True  # now we have sent ssh info
          await ZMQUtils.send(self.__backend_socket, AgentJobSSHDebug(job_id, host, port, key))
docs: Send info about the SSH debug connection to the backend/client. Must be called *at most once* for each job.
          :exception JobNotRunningException: is raised when the job is not running anymore (send_job_result already called)
          :exception TooManyCallsException: is raised when this function has been called more than once