def handle(self, *args, **kwargs): params = _get_params(kwargs.get('payload'), ['cluster_id'], 'data.') with closing(self.server.odb.session()) as session: item_list = Element('item_list') db_items = channel_zmq_list(session, params['cluster_id']) for db_item in db_items: item = Element('item') item.id = db_item.id item.name = db_item.name item.is_active = db_item.is_active item.address = db_item.address item.socket_type = db_item.socket_type item.sub_key = db_item.sub_key item.service_name = db_item.service_name item_list.append(item) return ZATO_OK, etree.tostring(item_list)