def list_all_groups(self): """ 获取到的group信息: group_name : group名字 str total_mb : 总空间 MB int free_mb : 剩余空间 MB int server_count : storage数量 int active_count : 存活的storage数量 int storage_port : 开启的端口 int 获取到的storage信息: id : id信息 ip_addr: ip地址 str total_mb: 磁盘总量MB int store_path_count: version: fdfs版本号 str storage_port: 端口号 int status:状态 int free_mb:剩余空间 int up_time:上次开启时间 str storage状态码: 1: INIT :初始化,尚未得到同步已有数据的源服务器 2: WAIT_SYNC :等待同步,已得到同步已有数据的源服务器 3: SYNCING :同步中 4: DELETED :已删除,该服务器从本组中摘除 5: OFFLINE :离线 6: ONLINE :在线,尚不能提供服务 7: ACTIVE :在线,可以提供服务 :return: """ try: group_detail = [] all_info = dict() storage_count = 0 # storage 数量 active_storage = 0 # 存活 storage 数量 path_count = 0 # storage path 数量 total_mb = 0 free_mb = 0 all_group = json.loads(FDFSPythonClient.list_all_groups()[1]) for gc in range(1, len(all_group) + 1): group_name = "group%s" % gc storages_list = json.loads(FDFSPythonClient.list_storages(group_name, "")[1]) # list for storage in storages_list: storage['group'] = group_name group_detail.append(storage) # print group_detail all_info['group_count'] = len(all_group) for c in all_group: storage_count += c['server_count'] active_storage += c['active_count'] total_mb += c['total_mb'] free_mb += c['free_mb'] all_info['storage_count'] = storage_count all_info['active_storage'] = active_storage all_info['total_mb'] = total_mb all_info['free_mb'] = free_mb all_info['used_mb'] = total_mb - free_mb except Exception as error: return False, error return True, (all_info, all_group, group_detail)
def upload_file(self, file_path): """ 上传文件 :param file_path: 文件路径 str :return:成功返回fdfs路径,失败返回None """ r_path = None try: with open(file_path, 'rb') as fp: file_content = fp.read() r_path = FDFSPythonClient.fdfs_upload(file_content, "") if r_path[0] != 0: return False, r_path[1] except Exception as error: return False, error return True, r_path[1]
def delete_file(self, group_name, local_path): """ 删除文件,由mysql查询后实现删除 1.删除数据库数据 2.删除fdfs文件 :param group_name: 文件所属fdfs的group名 str :param local_path: 文件所属fdfs的路径 str :return: True 为成功, False 为失败以及错误信息 """ try: r = FDFSPythonClient.fdfs_delete(group_name, local_path) if r == 0: return True, None else: return False, "fdfs delete fail" except Exception as error: return False, str(error)
import FDFSPythonClient as fdfs import time import sys r = fdfs.init('/etc/fdfs/client.conf', log_level=7, log_fd=sys.stderr.fileno()) if r != 0: exit() print('Upload appender:') with open('test.jpg', 'rb') as f: file_buff = f.read() start = time.perf_counter() r = fdfs.upload_appender(file_buff, 'jpg') elapsed = time.perf_counter() - start print('Response:', r) print('Time Elapsed %f ms.' % (elapsed * 1000)) if r[0] != 0: exit() print() print('Append file:') appender_file_id = r[1]
import sys import os import FDFSPythonClient import time sys.path.append(os.getcwd()) o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) lastTime = time.time() for i in range(1): r = FDFSPythonClient.list_all_groups() g = FDFSPythonClient.list_one_group("group2") s = FDFSPythonClient.list_storages("group2", "") t = FDFSPythonClient.list_storages("group2", "127.0.0.1") print(time.time() - lastTime) * 1000 print r print g print "##########################################" print s print "##########################################" print t
import FDFSPythonClient as fdfs import time import sys r = fdfs.init('/etc/fdfs/client.conf', log_level=7, log_fd=sys.stderr.fileno()) if r != 0: exit() print('Upload normal file:') # read pic content with open('test.jpg', 'rb') as f: file_buff = f.read() # send normal picture start = time.perf_counter() r = fdfs.upload_file(file_buff, 'jpg') elapsed = time.perf_counter() - start print('Response:', r) print('Time Elapsed %f ms.' % (elapsed * 1000)) if r[0] != 0: exit() print() print('Upload slave file:')
import FDFSPythonClient as fdfs import time import sys r = fdfs.init('/etc/fdfs/client.conf', log_level=7, log_fd=sys.stderr.fileno()) if r != 0: exit() print('Upload file:') with open('test.jpg', 'rb') as f: file_buff = f.read() start = time.perf_counter() n = fdfs.upload_file(file_buff, 'jpg') elapsed = time.perf_counter() - start print('Response:', n) print('Time Elapsed %f ms.' % (elapsed * 1000)) if n[0] != 0: exit() print() print('Get file info:') remote_file_id = n[1]
def __init__(self): client_path = FDFS_CONFIG["client_path"] log_level = FDFS_CONFIG["log_level"] FDFSPythonClient.fdfs_init(client_path, log_level)
import sys import os import FDFSPythonClient import time sys.path.append(os.getcwd()) o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) lastTime = time.time() for i in range(1): r = FDFSPythonClient.list_all_groups() g = FDFSPythonClient.list_one_group("group2") s = FDFSPythonClient.list_storages("group2", "") t = FDFSPythonClient.list_storages("group2","127.0.0.1") print (time.time() - lastTime)*1000 print r print g print "##########################################" print s print "##########################################" print t
import FDFSPythonClient as fdfs import json import time import sys r = fdfs.init('/etc/fdfs/client.conf', log_level=7, log_fd=sys.stderr.fileno()) if r != 0: exit() print("##########################################") print('list_groups:') start = time.perf_counter() r = fdfs.list_groups() elapsed = time.perf_counter() - start print('Response Code:', r[0]) print('Time Elapsed %f ms.' % (elapsed * 1000)) if r[0] != 0: exit() dump = [] for i in json.loads(r[1]): dump.append(json.loads(i)) print(json.dumps(dump, indent=4)) print("##########################################") print('list_one_group:')
import sys import os sys.path.append(os.getcwd()) import FDFSPythonClient import time o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) lastTime = time.time() for i in range(1): r = FDFSPythonClient.fdfs_download( "group2", "M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330") print(time.time() - lastTime) * 1000 print r[0] if r[0] == 0: file = open('2.png', 'wb') file.write(r[1]) file.close()
import sys import os import FDFSPythonClient import time sys.path.append(os.getcwd()) o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) # read pic content file_obj = open('1.png', 'rb') try: file_content = file_obj.read() finally: file_obj.close() lastTime = time.time() # send normal picture r = FDFSPythonClient.fdfs_upload(file_content, "") prefix_name = "200x200" print r # send slave pic master_filename = r[1][r[1].find('/')+1:] slave_r = FDFSPythonClient.fdfs_slave_upload(file_content, "png",master_filename, prefix_name) print (time.time() - lastTime)*1000 print slave_r
import FDFSPythonClient as fdfs import time import sys r = fdfs.init('/etc/fdfs/client.conf', log_level=7, log_fd=sys.stderr.fileno()) if r != 0: exit() with open('test.jpg', 'rb') as f: file_buff = f.read() file_ext_name = 'jpg' start = time.perf_counter() r = fdfs.upload_file(file_buff, file_ext_name) elapsed = time.perf_counter() - start print('Response:', r) print('Time Elapsed %f ms.' % (elapsed * 1000)) fdfs.destroy()
import sys import os import FDFSPythonClient import time sys.path.append(os.getcwd()) o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) file_obj = open('1.png', 'rb') try: file_content = file_obj.read() finally: file_obj.close() lastTime = time.time() for i in range(1): r = FDFSPythonClient.fdfs_upload(file_content, "") print (time.time() - lastTime)*1000 print r
import sys import os sys.path.append(os.getcwd()) import FDFSPythonClient import time o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) lastTime = time.time() for i in range(1): r = FDFSPythonClient.fdfs_download("group2", "M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330") print (time.time() - lastTime)*1000 print r[0] if r[0] == 0: file = open('2.png', 'wb') file.write(r[1]) file.close()
import sys import os import FDFSPythonClient import time sys.path.append(os.getcwd()) o = FDFSPythonClient.fdfs_init("/etc/fdfs/client.conf", 7) r = FDFSPythonClient.list_all_groups()[1] #g = FDFSPythonClient.list_one_group("group2") s = FDFSPythonClient.list_storages("group1", "")[1] #t = FDFSPythonClient.list_storages("group2","127.0.0.1") ''' print (time.time() - lastTime)*1000 print r print g print "##########################################" print s print "##########################################" print t ''' print(r) print(s) ''' print("##########################################") print(s) print("##########################################") print(t) '''