Пример #1
0
    def state(self):   

        if self._state == self.STATE.FINISHED: return self._state
        super(Subshell, self).state()
        if self._state == self.STATE.FAILED: return self._state
#        if self._state < self.STATE.READY: 
#            print "State not ready"
#            print self._state
#            sys.exit(0)
#            return self._state

        path = self.terminal.path
        cid = "getfiles_%d_%s"%(id(self.terminal),self.terminal.lazy_pwd())
        
        files = simple_call_cache(cid, self._identifier, 20, self._get_files)

        if files is None: 
            clear_simple_call_cache(cid, self._identifier)
            files = {}
                
        if "%s.failed"%self._identifier_filename in files: 
            self._state = self.STATE.FAILED
        elif "%s.finished"%self._identifier_filename in files: 
            self._state = self.STATE.FINISHED
        elif "%s.running"%self._identifier_filename in files: 
            self._state = self.STATE.RUNNING
        elif "%s.pid"%self._identifier_filename in files: 
            self._state = self.STATE.SUBMITTED

        return self._state
Пример #2
0
    def state(self):

        if self._state == self.STATE.FINISHED: return self._state
        super(Subshell, self).state()
        if self._state == self.STATE.FAILED: return self._state
        #        if self._state < self.STATE.READY:
        #            print "State not ready"
        #            print self._state
        #            sys.exit(0)
        #            return self._state

        path = self.terminal.path
        cid = "getfiles_%d_%s" % (id(self.terminal), self.terminal.lazy_pwd())

        files = simple_call_cache(cid, self._identifier, 20, self._get_files)

        if files is None:
            clear_simple_call_cache(cid, self._identifier)
            files = {}

        if "%s.failed" % self._identifier_filename in files:
            self._state = self.STATE.FAILED
        elif "%s.finished" % self._identifier_filename in files:
            self._state = self.STATE.FINISHED
        elif "%s.running" % self._identifier_filename in files:
            self._state = self.STATE.RUNNING
        elif "%s.pid" % self._identifier_filename in files:
            self._state = self.STATE.SUBMITTED

        return self._state
Пример #3
0
 def pid(self):
     path = self.terminal.path
     filename = self._identifier_filename +".pid"
     cid = "fetchpids_%d_%s"%(id(self.terminal),self.terminal.lazy_pwd())
     pid_dict = simple_call_cache(cid, self._identifier, self.cache_timeout, self._fetch_pids)        
     if filename in pid_dict:
         return pid_dict[filename]
     return 0
Пример #4
0
 def pid(self):
     path = self.terminal.path
     filename = self._identifier_filename + ".pid"
     cid = "fetchpids_%d_%s" % (id(self.terminal), self.terminal.lazy_pwd())
     pid_dict = simple_call_cache(cid, self._identifier, self.cache_timeout,
                                  self._fetch_pids)
     if filename in pid_dict:
         return pid_dict[filename]
     return 0