예제 #1
0
    def run(self):
        communication_service = Communication(host=self._master_hostname, port=self._master_port, service_name=self._name, server=False)
        communication_service.startup()
        self._services['CommunicationService'] = communication_service
        communication_service.register('CommunicationService', communication_service.get_queue())

        #heartbeat_service = HeartBeatService(communication_service=communication_service, interval=10)
        #communication_service.register('HeartBeatService', heartbeat_service.get_queue())
        #heartbeat_service.startup()
        #self._services['HeartBeatService'] = heartbeat_service

        storage_service = StorageService(directory=self._data_directory, communication_service=communication_service)
        communication_service.register('StorageService', storage_service.get_queue())
        storage_service.startup()
        self._services['StorageService'] = storage_service

        index_service = IndexService(block_size=1024, index_directory=self._index_directory, communication_service=communication_service)
        communication_service.register('IndexService', index_service.get_queue())
        index_service.startup()
        self._services['IndexService'] = index_service


        node = Node()
        node._id = 1
        node._type = 'Person'
        node._properties['Name'] = 'Sagar'
        node._properties['Age'] = 21
        add_node = AddNode(node)
예제 #2
0
 def test_node(self):
     node = Node()
     node._id = 1
     node._type = 'Person'
     node.set_property('Name', 'Sagar')
     node.set_property('Age', '21')
     time.sleep(3)
     add_node = DeleteNode(node)
     self._services['CommunicationService'].send('Worker', 'StorageService', add_node)
예제 #3
0
 def read_node(self):
     delete_marker = '*'
     node = None
     size = 0
     while delete_marker == '*':
         size = self._node_fd.read(8).decode("UTF-8")
         if size == '':
             return (None, None)
         node_position = self._node_fd.tell()
         delete_marker = self._node_fd.read(1).decode("UTF-8")
         size = int(size, 16)
         if delete_marker == '*':
             self._node_fd.seek(size, 1)
     full_data = ''
     while size > 0:
         data = self._node_fd.read(size).decode("UTF-8")
         size -= len(data)
         full_data += data
     node = Node()
     node.load(full_data)
     return (node, node_position)
예제 #4
0
 def read_node(self, fd):
     delete_marker = '*'
     node = None
     size = 0
     while delete_marker == '*':
         size = fd.read(8).decode("UTF-8")
         if size == '':
             return (None, None)
         node_position = fd.tell()
         delete_marker = fd.read(1).decode("UTF-8")
         size = int(size, 16)
         if delete_marker == '*':
             fd.seek(size, 1)
     full_data = ''
     while size > 0:
         data = fd.read(size).decode("UTF-8")
         size -= len(data)
         full_data += data
     node = Node()
     node.load(full_data)
     return (node, node_position)
예제 #5
0
    def test_storage(self):
        node = Node()
        node._id = 1
        node._type = 'Person'
        node.set_property('Name', 'Sagar')
        node.set_property('Age', 21)
        time.sleep(3)
        add_node = AddNode(node)
        self._services['CommunicationService'].send('WORKER1',
                                                    'StorageService', add_node)

        edge = Edge()
        edge._id = 10
        edge._type = 'Relation'
        edge._node1_id = 1
        edge._node2_id = 2
        edge.set_property('Name', 'Sagar')
        edge.set_property('Age', 21)
        time.sleep(3)
        update_edge = UpdateEdge(edge)
        self._services['CommunicationService'].send('WORKER1',
                                                    'StorageService',
                                                    update_edge)
예제 #6
0
    def test_storage(self):
        node = Node()
        node._id = 1
        node._type = 'Person'
        node.set_property('Name', 'Sagar')
        node.set_property('Age', 21)
        time.sleep(3)
        add_node = AddNode(node)
        self._services['CommunicationService'].send('WORKER1', 'StorageService', add_node)

        edge = Edge()
        edge._id = 10
        edge._type = 'Relation'
        edge._node1_id = 1
        edge._node2_id = 2
        edge.set_property('Name', 'Sagar')
        edge.set_property('Age', 21)
        time.sleep(3)
        update_edge = UpdateEdge(edge)
        self._services['CommunicationService'].send('WORKER1', 'StorageService', update_edge)