parameters: (bench_name, description)
docstring: Submits a bench job for a bench_name and description.
  
    Requires an implementation of find_change_points added to
    _EXPERIMENTAL_FUNCTIONS. At least bench_name or description must
    be different for each job.
  
    Args:
      bench_name: A string bench name which should exist in they keys of
          _EXPERIMENTAL_FUNCTIONS.
      description: A string description of this bench job.
  
    Raises:
      ValueError: The input was not valid.
      Exception: Not enough data available.
docstring_summary: Submits a bench job for a bench_name and description.
docstring_tokens: Submits a bench job for a bench_name and description .
function: def BenchFindChangePoints(bench_name, description):
    """Submits a bench job for a bench_name and description.
  
    Requires an implementation of find_change_points added to
    _EXPERIMENTAL_FUNCTIONS. At least bench_name or description must
    be different for each job.
  
    Args:
      bench_name: A string bench name which should exist in they keys of
          _EXPERIMENTAL_FUNCTIONS.
      description: A string description of this bench job.
  
    Raises:
      ValueError: The input was not valid.
      Exception: Not enough data available.
    """
    if bench_name not in _EXPERIMENTAL_FUNCTIONS:
      raise ValueError('%s is not a valid find anomalies bench function.' %
                       bench_name)
  
    bench_key = '%s.%s' % (bench_name, description)
    submitted_benches = layered_cache.Get(_FIND_ANOMALIES_BENCH_CACHE_KEY)
    if not submitted_benches:
      submitted_benches = {}
    if bench_key in submitted_benches:
      raise ValueError('Bench job for "%s. %s" already in submitted.' %
                       (bench_name, description))
  
    submitted_benches[bench_key] = True
    layered_cache.Set(_FIND_ANOMALIES_BENCH_CACHE_KEY, submitted_benches)
  
    # Check if base bench data exist.
    if not TestBench.query().fetch(keys_only=True, limit=1):
      raise Exception('No base data available to bench against.')
  
    # Add to taskqueue to run simulation.
    stage = RunExperimentalPipeline(bench_name, description)
    stage.start(queue_name=_TASK_QUEUE_NAME)
function_tokens: def BenchFindChangePoints ( bench_name , description ) : if bench_name not in _EXPERIMENTAL_FUNCTIONS : raise ValueError ( '%s is not a valid find anomalies bench function.' % bench_name ) bench_key = '%s.%s' % ( bench_name , description ) submitted_benches = layered_cache . Get ( _FIND_ANOMALIES_BENCH_CACHE_KEY ) if not submitted_benches : submitted_benches = { } if bench_key in submitted_benches : raise ValueError ( 'Bench job for "%s. %s" already in submitted.' % ( bench_name , description ) ) submitted_benches [ bench_key ] = True layered_cache . Set ( _FIND_ANOMALIES_BENCH_CACHE_KEY , submitted_benches ) # Check if base bench data exist. if not TestBench . query ( ) . fetch ( keys_only = True , limit = 1 ) : raise Exception ( 'No base data available to bench against.' ) # Add to taskqueue to run simulation. stage = RunExperimentalPipeline ( bench_name , description ) stage . start ( queue_name = _TASK_QUEUE_NAME )