Changeset 38874
- Timestamp:
- Oct 17, 2015, 7:13:53 AM (11 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/dvo.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/dvo.py
r38871 r38874 152 152 153 153 ''' 154 executes the dvopsps call with polling to check the status of the table 155 ''' 156 def dvopspsRunWithPoll(self,cmd,myTable,waittime): 157 158 # timeout_sql = "set wait_timeout = 5" 159 # self.scratchDb.execute(timeout_sql) 160 161 (dvoStdoutFile, dvoStdoutName) = tempfile.mkstemp(prefix="dvopsps.stdout.", dir="/tmp") 162 (dvoStderrFile, dvoStderrName) = tempfile.mkstemp(prefix="dvopsps.stderr.", dir="/tmp") 163 164 self.logger.infoPair("Running dvopsps", cmd) 165 self.logger.infoPair("Stdout to ", dvoStdoutName) 166 self.logger.infoPair("Stderr to ", dvoStderrName) 167 p = Popen(cmd, shell=True, stdout=dvoStdoutFile, stderr=dvoStderrFile) 168 169 dvopspsRunning = True 170 while dvopspsRunning: 171 p.poll() 172 if p.returncode == None: 173 time.sleep(waittime) 174 175 sql = "show table status where name = '" + myTable + "'" 176 rs = self.scratchDb.executeQuery(sql) 177 rs.first() 178 tableName = rs.getString(1) 179 tableRows = rs.getInt(5) 180 print "--- " + tableName + " : " + str(tableRows) 181 182 continue 183 dvopspsRunning = False 184 if p.returncode < 0: 185 self.logger.errorPair("dvopsps terminated on signal for: ", myTable) 186 os._exit(1) 187 188 if p.returncode > 0: 189 self.logger.errorPair("dvopsps failed for: ", myTable) 190 os._exit(1) 191 192 os.close(dvoStdoutFile) 193 os.close(dvoStderrFile) 194 195 ''' 154 196 Loads the DVO SkyTable into MySQL and then applies an index 155 197 ''' … … 186 228 cmd += " -D CATDIR " + self.skychunk.dvoLocation 187 229 188 self.logger.infoPair("Running dvopsps", cmd) 189 p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE) 190 p.wait() 191 if p.returncode != 0: 192 self.logger.errorPair("dvopsps failed on SkyTable.fits for ", self.skychunk.dvoLocation) 193 raise 230 self.dvopspsRunWithPoll(cmd,"dvoSkyTable",4) 194 231 195 232 self.logger.infoPair("Adding index to", self.scratchDb.dvoSkyTable) … … 699 736 print "need photcode for warp for gpc1 camera, default is no selection, should work, could be slow" 700 737 701 (dvoStdoutFile, dvoStdoutName) = tempfile.mkstemp(prefix="dvopsps.stdout.", dir="/tmp")702 (dvoStderrFile, dvoStderrName) = tempfile.mkstemp(prefix="dvopsps.stderr.", dir="/tmp")703 704 self.logger.infoPair("Running dvopsps", cmd)705 self.logger.infoPair("Stdout to ", dvoStdoutName)706 self.logger.infoPair("Stderr to ", dvoStderrName)707 p = Popen(cmd, shell=True, stdout=dvoStdoutFile, stderr=dvoStderrFile)708 p.wait()709 if p.returncode != 0:710 self.logger.errorPair("dvopsps failed on ", self.scratchDb.dvoDetectionTable)711 raise712 713 os.close(dvoStdoutFile)714 os.close(dvoStderrFile)715 716 738 ## dvopsps can take a very long time. try 2 or 3 times to re-establish communication with the db before proceeding? 739 ## NOTE: fixed with a poll? 740 self.dvopspsRunWithPoll(cmd,self.scratchDb.dvoDetectionTable,2) 717 741 718 742 self.ippToPspsDb.setIngestedBox(boxId, self.scratchDb.dbHost)
Note:
See TracChangeset
for help on using the changeset viewer.
