code: async def _recover_jobs(self, agent_addr):
          
          for (client_addr, job_id), (agent, job_msg, _) in reversed(list(self._job_running.items())):
              if agent == agent_addr:
                  await ZMQUtils.send_with_addr(self._client_socket, client_addr,
                                                BackendJobDone(job_id, ("crash", "Agent restarted"),
                                                               0.0, {}, {}, {}, "", None, None, None))
                  del self._job_running[(client_addr, job_id)]
  
          await self.update_queue()
docs: Recover the jobs sent to a crashed agent