devo-ps/pipelines

Need to report crash / exception on failure to run

xuqingfeng opened this issue · 0 comments

e.g. using prompt currently raise an exception that is not being caught and the process never completes.


---
prompt:
  var: toto

actions:
  - echo {{ var }}

current error in pipelines.:

    value = future.result()
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/tornado/concurrent.py", line 232, in result
    raise_exc_info(self._exc_info)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/tornado/gen.py", line 1014, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/api/server.py", line 120, in _run_pipeline
    yield runner.run(pipeline_filepath, folder_path, params)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/tornado/gen.py", line 1008, in run
    value = future.result()
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/concurrent/futures/_base.py", line 398, in result
    return self.__get_result()
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/api/server.py", line 68, in run
    return pipe.run(params=params)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/pipeline/pipeline.py", line 161, in run
    task.args = substitute_variables(pipeline_context, task.args)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/pipeline/var_processing.py", line 40, in substitute_variables
    return _loop_strings(replace_vars_func, obj)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/pipeline/var_processing.py", line 47, in _loop_strings
    new_obj = dict([(_loop_strings(func, k), _loop_strings(func, v)) for k,v in obj.items()])
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/pipeline/var_processing.py", line 45, in _loop_strings
    new_obj = func(obj)
  File "/home/wcl/pipelines_workspace/.pipelines/local/lib/python2.7/site-packages/pipelines/pipeline/var_processing.py", line 28, in replace_vars_func
    raise PipelineError('Missing variable: {}'.format(variable_name))
PipelineError: Missing variable: var