Ejemplo n.º 1
0
class BaseHandler(tornado.web.RequestHandler):
    def initialize(self):
        self.classname = self.__class__.__name__
        self.user_header = self.get_secure_cookie
        self.session = DB_Session()

    def get_current_user(self):
        return self.get_secure_cookie('user')

    @property
    def db(self):
        db = torndb.Connection(settings.DBINFO['dbhost'], settings.DBINFO['dbname'],
                               settings.DBINFO['dbuser'], settings.DBINFO['dbpasswd'])

        return db


    def timeout_command(self, cmd, timeout):
        time_start = datetime.datetime.now()
        process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
        while process.poll() is None:
            time.sleep(0.2)
            time_now = datetime.datetime.now()
            if (time_now - time_start).seconds > timeout:
                os.kill(process.pid, signal.SIGILL)
                os.waitpid(process.pid)
                return "False error timeout"
        return process.stdout.read()
        
    def on_finish(self):
        self.session.close()
Ejemplo n.º 2
0
 def initialize(self):
     self.classname = self.__class__.__name__
     self.user_header = self.get_secure_cookie
     self.session = DB_Session()