code: def StartInterrogationHunt(self):
      
      flow_name = compatibility.GetName(flows_discovery.Interrogate)
      flow_args = flows_discovery.InterrogateArgs(lightweight=False)
      description = "Interrogate run by cron to keep host info fresh."
  
      if data_store.RelationalDBEnabled():
        hunt_id = hunt.CreateAndStartHunt(
            flow_name,
            flow_args,
            self.token.username,
            client_limit=0,
            client_rate=50,
            crash_limit=config.CONFIG["Cron.interrogate_crash_limit"],
            description=description,
            duration=rdfvalue.Duration("1w"),
            output_plugins=self.GetOutputPlugins())
        self.Log("Started hunt %s.", hunt_id)
      else:
        with hunts_implementation.StartHunt(
            hunt_name=hunts_standard.GenericHunt.__name__,
            client_limit=0,
            flow_runner_args=rdf_flow_runner.FlowRunnerArgs(flow_name=flow_name),
            flow_args=flow_args,
            output_plugins=self.GetOutputPlugins(),
            crash_limit=config.CONFIG["Cron.interrogate_crash_limit"],
            client_rate=50,
            expiry_time=rdfvalue.Duration("1w"),
            description=description,
            token=self.token) as hunt_obj:
  
          hunt_obj.GetRunner().Start()
          self.Log("Started hunt %s.", hunt_obj.urn)
docs: Starts an interrogation hunt on all available clients.