code: def aot_blpop(self):  # pylint: disable=R1710
          
          if self.tcex.default_args.tc_playbook_db_type == 'Redis':
              res = None
              try:
                  self.tcex.log.info('Blocking for AOT message.')
                  msg_data = self.db.blpop(
                      self.tcex.default_args.tc_action_channel,
                      timeout=self.tcex.default_args.tc_terminate_seconds,
                  )
  
                  if msg_data is None:
                      self.tcex.exit(0, 'AOT subscription timeout reached.')
  
                  msg_data = json.loads(msg_data[1])
                  msg_type = msg_data.get('type', 'terminate')
                  if msg_type == 'execute':
                      res = msg_data.get('params', {})
                  elif msg_type == 'terminate':
                      self.tcex.exit(0, 'Received AOT terminate message.')
                  else:
                      self.tcex.log.warn('Unsupported AOT message type: ({}).'.format(msg_type))
                      res = self.aot_blpop()
              except Exception as e:
                  self.tcex.exit(1, 'Exception during AOT subscription ({}).'.format(e))
  
              return res
docs: Subscribe to AOT action channel.