bartongroup / slivka

http://bartongroup.github.io/slivka/
Apache License 2.0
7 stars 3 forks source link

Scheduler dies if qsub is not available #89

Closed warownia1 closed 3 years ago

warownia1 commented 3 years ago

Scheduler crashes with FileNotFoundError when qsub is not available on the system. The exception ought to be handled by the scheduler and runner should be marked as nonfunctional.

Traceback (most recent call last):
  File "/home/xxx/miniconda3/envs/slivka/bin/slivka", line 33, in <module>
    sys.exit(load_entry_point('Slivka', 'console_scripts', 'slivka')())
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/xxx/Documents/slivka/slivka/cli.py", line 164, in start_scheduler
    scheduler.run_forever()
  File "/home/xxx/Documents/slivka/slivka/scheduler/core.py", line 93, in run_forever
    self.run_cycle()
  File "/home/xxx/Documents/slivka/slivka/scheduler/core.py", line 176, in run_cycle
    for request, job in started:
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/concurrent/futures/_base.py", line 598, in result_iterator
    yield fs.pop().result()
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/xxx/Documents/slivka/slivka/scheduler/runners/grid_engine.py", line 87, in submit_wrapper
    def submit_wrapper(args): self.submit(*args)
  File "/home/xxx/Documents/slivka/slivka/scheduler/runners/grid_engine.py", line 76, in submit
    universal_newlines=False
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/subprocess.py", line 488, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/home/xxx/miniconda3/envs/slivka/lib/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'qsub': 'qsub'