如何减少Python Firebase Admin SDK中的SSL开销
我已经使用python中的firebase_adminsdk创建了一个代码来将实时数据更新到firebase中,但是ssl开销使得总下载量相当大。是否有任何方法可以减少ssl开销,并使用python通过firebase实时数据库创建持久连接。如何减少Python Firebase Admin SDK中的SSL开销,python,firebase,firebase-realtime-database,firebase-admin,Python,Firebase,Firebase Realtime Database,Firebase Admin,我已经使用python中的firebase_adminsdk创建了一个代码来将实时数据更新到firebase中,但是ssl开销使得总下载量相当大。是否有任何方法可以减少ssl开销,并使用python通过firebase实时数据库创建持久连接。 #Import import xlrd import sched, time #scheduler s = sched.scheduler(time.time, time.sleep) #Firebase admin import firebase_
#Import
import xlrd
import sched, time
#scheduler
s = sched.scheduler(time.time, time.sleep)
#Firebase admin
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
cred = credentials.Certificate(r"C:\Users\HP\Desktop\Pythons\Resource\AccountKey.json")
#Initilising Database
firebase_admin.initialize_app(cred, {
'databaseURL' : 'https://database.firebaseio.com/'
})
#Loop to run every second
def do_something(sc):
print("Opening excel....")
#Opening Document
file_location=r"C:\Users\HP\Desktop\NIFTY 50 Fyers.xlsm"
try:
workbook=xlrd.open_workbook(file_location)
print("Opened")
#Opening first sheet
sheet=workbook.sheet_by_index(0)
#Creating stockdictionary
stockdata={}
for i in range(1,50):
stockdata[str(sheet.cell_value(i,0))]=sheet.cell_value(i,1)
#Writing data into firebase database
db.reference("Live Data/N50 Stocks").update(stockdata)
#Display Result
print("Stock Data Updated")
indicesdata={}
for j in range(74,100):
indicesdata[str(sheet.cell_value(j,0))]=sheet.cell_value(j,1)
#Writing data into firebase database
db.reference("Live Data/Indices").update(indicesdata)
#Display Result
print("Indices Data Updated")
#Opening second sheet
sheet=workbook.sheet_by_index(1)
optionsdata={}
for k in range(2,41):
optionsdata[str(sheet.cell_value(k,0))]=sheet.cell_value(k,2)
#Writing data into firebase database
db.reference("Live Data/Options").update(optionsdata)
#Display Result
print("Option Data Updated")
#All data finished
print("____________")
except Exception:
print("*********Exception Occured**********")
#Calling Loop Again
#s.enter(1, 1, do_something, (sc,))
pass
#Calling Loop Again
s.enter(1, 1, do_something, (sc,))
#Repeat
s.enter(1, 1, do_something, (s,))
s.run()
此连接应持续8小时,firebase ssl开销减少方法很难确定,有谁能缩短此代码以避免ssl开销,并使与firebase的数据连接平滑,使用更少的数据下载