Esempio n. 1
0
    def run(self):
        while 1:
            # monitor pipes from receive
            deliver = messages.get()
            print 'getting messages from nodes'
            print str(deliver)

            # display logs from nodes if received
            if deliver.command == pynvc.LOGGING:
                print '[logger] node %d : %s' % (deliver.destination,
                            str(bytearray(deliver.payload)))

            # find out which defer it is for
            defer_id, defer = getDeferredQueue().find_defer(deliver)

            if defer_id and defer:
                # call callback
                defer.callback(deliver)

                # remove it
                getDeferredQueue().remove_defer(defer_id)
            else:
                # if it is special messages
                if not is_master_busy():
                    if deliver.command == pynvc.GROUP_NOTIFY_NODE_FAILURE:
                        print "reconfiguration message received"
                        wusignal.signal_reconfig()
                    else:
                        print "what?"
                else:
                    #log = "Incorrect reply received. Message type correct, but didnt pass verification: " + str(message)
                    print "message discarded"
                    print str(deliver)
            gevent.sleep(0)
Esempio n. 2
0
    def run(self):
        while 1:
            # monitor pipes from receive
            deliver = messages.get()
            print 'getting messages from nodes'
            print str(deliver)

            # display logs from nodes if received
            if deliver.command == pynvc.LOGGING:
                print '[logger] node %d : %s' % (
                    deliver.destination, str(bytearray(deliver.payload)))

            # find out which defer it is for
            defer_id, defer = getDeferredQueue().find_defer(deliver)

            if defer_id and defer:
                # call callback
                defer.callback(deliver)

                # remove it
                getDeferredQueue().remove_defer(defer_id)
            else:
                # if it is special messages
                if not is_master_busy():
                    if deliver.command == pynvc.GROUP_NOTIFY_NODE_FAILURE:
                        print "reconfiguration message received"
                        wusignal.signal_reconfig()
                    else:
                        print "what?"
                else:
                    #log = "Incorrect reply received. Message type correct, but didnt pass verification: " + str(message)
                    print "message discarded"
                    print str(deliver)
            gevent.sleep(0)
    def run(self):
        while 1:
            # monitor pipes from receive
            deliver = messages.get()
            logging.debug('getting messages from nodes')
            logging.debug(str(deliver))

            # display logs from nodes if received
            if deliver.command == pynvc.LOGGING:
                logging.info('[LOGGING] node %d : %s' % (deliver.destination,
                            str(bytearray(deliver.payload))))

            # find out which defer it is for
            defer_id, defer = self._defer_queue.find_defer(deliver)

            if defer_id and defer:
                # call callback
                defer.callback(deliver)

                # remove it
                self._defer_queue.remove_defer(defer_id)
            else:
                # if it is special messages
                if not is_master_busy():
                    if deliver.command == pynvc.GROUP_NOTIFY_NODE_FAILURE:
                        logging.info("reconfiguration message received")
                        wusignal.signal_reconfig()
                else:
                    #log = "Incorrect reply received. Message type correct, but didnt pass verification: " + str(message)
                    logging.debug("message discarded")
                    logging.debug(str(deliver))
            gevent.sleep(0)
Esempio n. 4
0
    def run(self):
        while 1:
            # monitor pipes from receive
            deliver = messages.get()
            print '[transport] getting messages from nodes'
            print '[transport] ' + str(deliver)

            # insert monitoring message into database
            if deliver.command == pynvc.MONITORING:
                data_collection = sensor.SensorData.createByPayload(deliver.destination, deliver.payload)
                print(data_collection.toDocument())
                globals.mongoDBClient.wukong.readings.insert(ast.literal_eval(data_collection.toDocument()))

            # display logs from nodes if received
            print deliver.command
            if deliver.command == pynvc.LOGGING:
                print '[transport] node %d : %s' % (deliver.destination,
                            str(bytearray(deliver.payload)))

            # find out which defer it is for
            defer_id, defer = getDeferredQueue().find_defer(deliver)

            if defer_id and defer:
                # call callback
                if deliver.command == pynvc.WKPF_ERROR_R:
                    defer.error_cb(deliver)
                else:
                    defer.callback(deliver)

                # remove it
                getDeferredQueue().remove_defer(defer_id)
            else:
                # if it is special messages
                if not is_master_busy():
                    if deliver.command == pynvc.GROUP_NOTIFY_NODE_FAILURE:
                        print "[transport] reconfiguration message received"
                        wusignal.signal_reconfig()
                    else:
                        print "[transport] what?"
                else:
                    #log = "Incorrect reply received. Message type correct, but didnt pass verification: " + str(message)
                    print "[transport] message discarded"
                    print '[transport] ' + str(deliver)
            gevent.sleep(0)
Esempio n. 5
0
    def run(self):
        while 1:
            # monitor pipes from receive
            deliver = messages.get()
            print '[transport] getting messages from nodes'
            print '[transport] ' + str(deliver)

            # insert monitoring message into database
            if deliver.command == pynvc.MONITORING:
                data_collection = sensor.SensorData.createByPayload(deliver.destination, deliver.payload)
                if (data_collection != None):
                    print(data_collection.toDocument())
                    globals.mongoDBClient.wukong.readings.insert(ast.literal_eval(data_collection.toDocument()))

            # display logs from nodes if received
            if deliver.command == pynvc.LOGGING:
                print '[transport] node %d : %s' % (deliver.destination,
                            str(bytearray(deliver.payload)))

            # find out which defer it is for
            defer_id, defer = getDeferredQueue().find_defer(deliver)

            if defer_id and defer:
                # call callback
                if deliver.command == pynvc.WKPF_ERROR_R:
                    defer.error_cb(deliver)
                else:
                    defer.callback(deliver)

                # remove it
                getDeferredQueue().remove_defer(defer_id)
            else:
                # if it is special messages
                if not is_master_busy():
                    if deliver.command == pynvc.GROUP_NOTIFY_NODE_FAILURE:
                        print "[transport] reconfiguration message received"
                        wusignal.signal_reconfig()
                    else:
                        print "[transport] what?"
                else:
                    #log = "Incorrect reply received. Message type correct, but didnt pass verification: " + str(message)
                    print "[transport] message discarded"
                    print '[transport] ' + str(deliver)
            gevent.sleep(0)