diff --git a/gridded_glm/libexec/_minute_gridder.py b/gridded_glm/libexec/_minute_gridder.py index 2238633eebe76ed8d09cb93d1243c11a516e9e52..c24cb71b0ce9d44afd89d8d1dfb7653198ef4e55 100644 --- a/gridded_glm/libexec/_minute_gridder.py +++ b/gridded_glm/libexec/_minute_gridder.py @@ -44,6 +44,7 @@ import shutil import atexit from glob import glob import socket +import signal from netCDF4 import Dataset #from multiprocessing import freeze_support # https://docs.python.org/2/library/multiprocessing.html#multiprocessing.freeze_support from functools import partial @@ -300,8 +301,13 @@ def add_gglm_attrs(netcdf_filename, input_filenames): except: log.error("could not add CSPP Geo GGLM attributes to {}".format(netcdf_filename)) +def alarm_handler(signum, frame): + raise OSError("Timeout exceeded!") if __name__ == '__main__': + signal.signal(signal.SIGALRM, alarm_handler) + signal.alarm(10*60) # timeout if we're not done after 10 minutes + # freeze_support() # nb. I don't think this is needed as we're not making windows execs at this time parser = create_parser() args = parser.parse_args()