Changeset 1230 for SHX


Ignore:
Timestamp:
09.11.2017 10:09:23 (22 months ago)
Author:
klaus
Message:

bugfix and debug log

Location:
SHX/trunk/SeismicHandler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/commands/fdsnws.py

    r1214 r1230  
    170170                raise ShxError( "bulk file '%s' not found" % bulkfile, 
    171171                    status=1111 ) 
    172             client = Client(fdsnadr) 
     172            client = self.connectFDSN(fdsnadr) 
    173173            st = client.get_waveforms_bulk( file(bulkfile) ) 
    174174        else: 
     
    189189            reqmode, reqpars = self.parseReqMode( netcode ) 
    190190            if reqmode == 'bynetwork': 
    191                 client = Client(fdsnadr) 
     191                client = self.connectFDSN(fdsnadr) 
    192192                st = Stream() 
    193193                for netcode in reqpars: 
     
    197197            elif reqmode == 'byradius': 
    198198                lat, lon, radius = reqpars 
    199                 client = Client(fdsnadr) 
     199                client = self.connectFDSN(fdsnadr) 
    200200                try: 
    201201                    inv = client.get_stations( starttime=reqtime, 
     
    240240                if bulk == "": 
    241241                    return 
    242                 client = Client(fdsnadr) 
     242                client = self.connectFDSN(fdsnadr) 
    243243                try: 
    244244                    st = client.get_waveforms_bulk( StringIO.StringIO(bulk) ) 
     
    301301        etime = (reqtime+reqlth).format_iris_web_service() 
    302302        return "%s %s %s %s %s %s" % (net,sta,loc,chan,stime,etime) 
     303     
     304    def connectFDSN( self, adr, retries=3, retrysleep=5 ): 
     305        logfile = os.path.join( os.environ['HOME'], 'fdsnlog.txt' ) 
     306        stamp = UTCDateTime() 
     307        trynum = 0 
     308        client = None 
     309        while client == None and trynum < retries: 
     310            try: 
     311                client = Client( adr ) 
     312                exc = None 
     313            except Exception, exc: 
     314                client = None 
     315                os.system( "sleep %d" % retrysleep ) 
     316            trynum += 1 
     317        nowtime = UTCDateTime() 
     318        duration = nowtime - stamp 
     319        timestr = nowtime.strftime( "%d-%b-%Y_%T") 
     320        if client == None: 
     321            msg = "%s: fdsnws %s failed after %d seconds and %d retries" 
     322        else: 
     323            msg = "%s: fdsnws %s successful after %d seconds (tries:%d)"  
     324        msg = msg % (timestr,adr,int(duration),trynum) 
     325        print msg 
     326        fp = open( logfile, 'a' ) 
     327        fp.write( "%s\n" % msg ) 
     328        fp.close() 
     329        if client == None: 
     330            raise exc 
     331        else: 
     332            return client 
    303333 
    304334 
  • SHX/trunk/SeismicHandler/modules/screen.py

    r1225 r1230  
    1 link screen_x.py 
     1link screen_wx.py 
Note: See TracChangeset for help on using the changeset viewer.