Beispiel #1
0
def thread_entry(conn, dbAdapter):
   console('start new thread, from [%s]', conn.name())
   count = 0
   time = 0
   cmd = ''
   while True:
      try:
         data = conn.recv()
      except socket.error, e:
         break
      
      if data is not None:
         dbAdapter.upsert('log', data)
         count += 1
         LogEvent('received msg: \n%s, NO: %d', str(data), count)
         if data['cmdTime'] is None:
            LogEvent('received msg with invalid cmdTime from user: %s, sid: %s', data['user'], data['sid'])
         console('received a msg, cmd: %s, cmdTime: %r, No: %d', data['cmd'], data['cmdTime'], count)
         if time == data['cmdTime'] and cmd == data['cmd']:
            LogEvent('received a reduplicated msg, cmd: %s, cmdTime: %r', data['cmd'], data['cmdTime'])
            #console('reduplicated cmd')
         time = data['cmdTime']
         cmd = data['cmd']
         try:
            task = assign_rule(dbAdapter, data)
            if task is not None:
               result = task.go()
               if result:
                  dbAdapter.upsert('alarm', result)
         except Exception, e:
            LogError('catch an unhandled exception, e: %r', e)
Beispiel #2
0
def thread_entry(running, conn, tfile):
   LogEvent('begin to parse: [%s]', tfile.filename)
   count = 0
   while running:
      log = tfile.next_log()
      if log:
         event = text_to_json(log)
         if event is not None:
            event.append('user', tfile.user)
            event.append('sid', tfile.sid)
            try:
               conn.send(event.data())
               count += 1
               console('send a msg to server, total: %d, log: \r\n%s', count, event.data()['message'])
            except socket.error, e:
               LogError('send msg to server failed')
               break
      else:
         time.sleep(2)
Beispiel #3
0
         console('received a msg, cmd: %s, cmdTime: %r, No: %d', data['cmd'], data['cmdTime'], count)
         if time == data['cmdTime'] and cmd == data['cmd']:
            LogEvent('received a reduplicated msg, cmd: %s, cmdTime: %r', data['cmd'], data['cmdTime'])
            #console('reduplicated cmd')
         time = data['cmdTime']
         cmd = data['cmd']
         try:
            task = assign_rule(dbAdapter, data)
            if task is not None:
               result = task.go()
               if result:
                  dbAdapter.upsert('alarm', result)
         except Exception, e:
            LogError('catch an unhandled exception, e: %r', e)

   console('end thread, from [%s]', conn.name())

def assign_rule(dbAdapter, data):

   if dbAdapter is None:
      LogError('db connector is not initialized')
      abort()
      return

   cond = {'userName':data['user']}
   cr = dbAdapter.query('user', cond)
   record = None

   try:
      record = cr.next()
   except SDBEndOfCursor, e:
Beispiel #4
0
   def append(self, k, v):
      if self.__ctx.get(k) is not None:
         console('key[%s] exist, value: %s, it will be replaced by new value: %s', k, self.__ctx[k], v)

      self.__ctx[k] = v