code: def run_scenario(params):
      
      solver = SolverContext(**params)
      start = time.time()
      count = sum(1 for _ in solver.solve())
      execution_time = time.time() - start
      params.update({
          'solutions': count,
          'execution_time': execution_time})
      return params
docs: Run one scenario and returns execution time and number of solutions.
  
      Also returns initial parameters in the response to keep the results
      associated with the initial context.