Example #1
0
 def release_suite_access( self):
     server = lockserver( self.host, port=self.port ).get()
     result = server.release_suite_access( self.suite_dir, self.suite )
     if not result:
         return False
     else:
        return True
Example #2
0
    def request_suite_access( self, exclusive=True ):
        # suite config files should specify whether or not a suite is
        # 'exclusive' - i.e. is it possible to run multiple copies (with
        # different registered group names) of the entire suite at
        # once? 
        
        # GET A NEW CONNECTION WITH EACH REQUEST
        # TODO - OR GET A SINGLE CONNECTION IN INIT

        server = lockserver( self.host, port=self.port ).get()
        (result, reason) = server.get_suite_access( self.suite_dir, self.suite, self.cylc_mode, exclusive )
        if not result:
            print >> sys.stderr, 'ERROR, failed to get suite access:'
            print >> sys.stderr, reason
            return False
        else:
           return True
Example #3
0
    def release(self):
        if not self.use_lock_server:
            #print >> sys.stderr, "WARNING: you are not using the cylc lockserver."
            return True

        # Owner required here because cylc suites can run tasks as other
        # users - but the lockserver is owned by the suite owner:
        server = lockserver(self.host, owner=self.owner, port=self.port).get()
        if server.is_locked(self.task_id, self.suite):
            if server.release(self.task_id, self.suite):
                print "Released task lock"
                return True
            else:
                print >> sys.stderr, "Failed to release task lock"
                return False
        else:
            print >> sys.stderr, "WARNING", self.suite + ':' + self.task_id, "was not locked!"
            return True
Example #4
0
    def release(self):
        if not self.use_lock_server:
            # print >> sys.stderr, "WARNING: you are not using the cylc lockserver."
            return True

        # Owner required here because cylc suites can run tasks as other
        # users - but the lockserver is owned by the suite owner:
        server = lockserver(self.host, owner=self.owner, port=self.port).get()
        if server.is_locked(self.task_id, self.suite):
            if server.release(self.task_id, self.suite):
                print "Released task lock"
                return True
            else:
                print >> sys.stderr, "Failed to release task lock"
                return False
        else:
            print >> sys.stderr, "WARNING", self.suite + ":" + self.task_id, "was not locked!"
            return True
Example #5
0
    def acquire( self ):
        # print statements here will go to task stdout and stderr

        if not self.use_lock_server:
            #print >> sys.stderr, "WARNING: you are not using the cylc lockserver." 
            return True
 
        # Owner required here because cylc suites can run tasks as other
        # users - but the lockserver is owned by the suite owner:
        server = lockserver( self.host, owner=self.owner, port=self.port ).get()
        if server.acquire( self.task_id, self.suite ):
            print "Acquired task lock"
            return True
        else:
            print >> sys.stderr, "Failed to acquire task lock"
            if server.is_locked( self.task_id, self.suite ):
                print >> sys.stderr, self.suite + ':' + self.task_id, "is already locked!"
            return False
Example #6
0
    def acquire(self):
        # print statements here will go to task stdout and stderr

        if not self.use_lock_server:
            #print >> sys.stderr, "WARNING: you are not using the cylc lockserver."
            return True

        # Owner required here because cylc suites can run tasks as other
        # users - but the lockserver is owned by the suite owner:

        server = lockserver(self.host, owner=self.owner, port=self.port).get()

        if server.acquire(self.task_id, self.suite):
            print "Acquired task lock"
            return True
        else:
            print >> sys.stderr, "Failed to acquire task lock"
            if server.is_locked(self.task_id, self.suite):
                print >> sys.stderr, self.suite + ':' + self.task_id, "is already locked!"
            return False