def check_notification_state(i):
    while 1:
            session = Session()
            ins_opition = queue_notification.get(True)
            print "Greenlets %s got : %s" % (i,time.asctime()), " " , ins_opition
            sql = """
                SELECT result
                FROM cloud_result
                WHERE TIME = ( 
                SELECT MAX( TIME ) 
                FROM cloud_result ) 
                AND uuid
                IN (
                '%s'
                )
                """ % ins_opition['uuid']
            result = raw_sql(sql)
            # if result is empty, skip current loop.
            if not result:
                continue
            # analyst notification in another function
            ret = analyst_notification_result(result,ins_opition)
            print "Greenlets notification %s got : %s" % (i,time.asctime()) , ret
            if not ret:
                continue
            q = session.query(Instances).filter(Instances.uuid==ins_opition['uuid'])
            if q.all():
                q.update(
                    {Instances.notification_state:simplejson.dumps(ret)}
                )
                session.commit()
Пример #2
0
 def run(self):
     while 1:
             ins_opition = queue_notification.get(True)
             sql = """
                 SELECT result
                 FROM cloud_result
                 WHERE TIME = (
                 SELECT MAX( TIME ) 
                 FROM cloud_result ) 
                 AND uuid
                 IN (
                 '%s'
                 )
                 """ % ins_opition['uuid']
             result = raw_sql(sql)
             # if result is empty, skip current loop.
             if not result:
                 continue
             # analyst notification in another function
             ret = analyst_notification_result(result,ins_opition)
             if not ret:
                 continue
             q = self.session.query(Instances).filter(Instances.uuid==ins_opition['uuid'])
             if q.all():
                 q.update(
                     {Instances.notification_state:simplejson.dumps(ret)}
                 )
                 self.session.commit()