From 04b4564f752eb4356f0cf2ec44d230921c3cfb03 Mon Sep 17 00:00:00 2001 From: madsmpedersen <m@madsp.dk> Date: Mon, 4 Apr 2016 13:31:02 +0200 Subject: [PATCH] added cluster_simulation.py --- wetb/hawc2/cluster_simulation.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 wetb/hawc2/cluster_simulation.py diff --git a/wetb/hawc2/cluster_simulation.py b/wetb/hawc2/cluster_simulation.py new file mode 100644 index 00000000..061d8ebf --- /dev/null +++ b/wetb/hawc2/cluster_simulation.py @@ -0,0 +1,26 @@ +from wetb.hawc2.simulation import Simulation, SimulationThread, INITIALIZING, ERROR, FINISH +from wetb.hawc2.htc_file import HTCFile +from wetb.hawc2.log_file import LogFile +from wetb.hawc2 import log_file +import os +import sys +import time +from threading import Timer, Thread +class ClusterSimulation(Simulation): + def __init__(self, modelpath, htcfilename, hawc2exe="HAWC2MB.exe"): + Simulation.__init__(self, modelpath, htcfilename, hawc2exe=hawc2exe) + self.simulation_id = [f for f in os.listdir('.') if f.endswith('.in')][0][:-3] + self.simulationThread = SimulationThread(self, False) + self.thread = Thread(target=self.simulate) + self.start(1) + self.wait() + print (self.simulationThread.res[1]) # print hawc2 output to stdout + sys.exit(self.simulationThread.res[0]) + + def update_status(self, *args, **kwargs): + Simulation.update_status(self, *args, **kwargs) + with open("/home/mmpe/.hawc2launcher/status_%s" % self.simulation_id, 'w') as fid: + fid.write (";".join([self.status] + [str(getattr(self.logFile, v)) for v in ['status', 'pct', 'remaining_time', 'lastline']]) + "\n") + + def show_status(self): + pass -- GitLab