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)
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)
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)
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)
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)