code: def _on_sigalrm(self, signum, frame):
          
          msg = "Job reached maximum time limit of %d seconds." % (
              self.timeout_secs,
          )
          self._update({
              "failed": 1,
              "finished": 1,
              "msg": msg,
          })
          self._timed_out = True
          self.econtext.broker.shutdown()
docs: Respond to SIGALRM (job timeout) by updating the job file and killing
          the process.