Beispiel #1
0
 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)
Beispiel #2
0
 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]
Beispiel #3
0
 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]
Beispiel #5
0
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]
Beispiel #8
0
 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
Beispiel #10
0
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:')
Beispiel #11
0
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()
Beispiel #12
0
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

Beispiel #15
0
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()

Beispiel #16
0
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)
'''