docs: def CreateJob(self, cron_args=None, job_id=None, token=None, enabled=True):
      """Creates a cron job that runs given flow with a given frequency.
  
      Args:
        cron_args: A protobuf of type rdf_cronjobs.CreateCronJobArgs.
        job_id: Use this job_id instead of an autogenerated unique name (used for
          system cron jobs - we want them to have well-defined persistent name).
        token: Security token used for data store access.
        enabled: If False, the job object will be created, but will be disabled.
  
      Returns:
        Name of the cron job created.
      """
      if not job_id:
        uid = random.UInt16()
        job_id = "%s_%s" % (cron_args.flow_name, uid)
  
      flow_runner_args = rdf_flow_runner.FlowRunnerArgs(
          flow_name="CreateAndRunGenericHuntFlow")
  
      flow_args = rdf_hunts.CreateGenericHuntFlowArgs()
      flow_args.hunt_args.flow_args = cron_args.flow_args
      flow_args.hunt_args.flow_runner_args.flow_name = cron_args.flow_name
      flow_args.hunt_runner_args = cron_args.hunt_runner_args
      flow_args.hunt_runner_args.hunt_name = "GenericHunt"
  
      create_cron_args = rdf_cronjobs.CreateCronJobFlowArgs(
          description=cron_args.description,
          periodicity=cron_args.frequency,
          flow_runner_args=flow_runner_args,
          flow_args=flow_args,
          allow_overruns=cron_args.allow_overruns,
          lifetime=cron_args.lifetime)
  
      cron_job_urn = self.CRON_JOBS_PATH.Add(job_id)
      with aff4.FACTORY.Create(
          cron_job_urn,
          aff4_type=CronJob,
          mode="rw",
          token=token,
          force_new_version=False) as cron_job:
  
        # If the cronjob was already present we don't want to overwrite the
        # original start_time.
        existing_cron_args = cron_job.Get(cron_job.Schema.CRON_ARGS)
        if existing_cron_args and existing_cron_args.start_time:
          create_cron_args.start_time = existing_cron_args.start_time
  
        if create_cron_args != existing_cron_args:
          cron_job.Set(cron_job.Schema.CRON_ARGS(create_cron_args))
  
        cron_job.Set(cron_job.Schema.DISABLED(not enabled))
  
      return job_id