returns True if status has changed

def update_status(self):
        """ returns True if status has changed """
        # this function should be part of the server

        if (self.status is not None) and self.status > 0:
            # status is already final
            return False

        old_status = self.status
       
        job_dir = self.run_dir + os.sep + self.id

        if os.path.isfile(run_dir + os.sep + 'FAILURE'):
            self.status = self.FAILED
        elif os.path.isfile(run_dir + os.sep + 'FINISHED'):
            self.status = self.FINISHED
        else:
            self.status = self.RUNNING

        if self.status != old_status:
            return True
        else:
            return False