Я запускаю python3 для запуска сервера Flask, чтобы по существу отслеживать некоторые данные через html. . Он еще далек от завершения, однако, когда я снова открыл файл проекта, чтобы продолжить работу, его запуск внезапно занял очень много времени (около 4,5 минут). По большей части он запускается, иногда немного медленно или просто застревает на пустой странице с заголовком «Загрузка...». Это запущенное приложение Python. Он запускается с помощью «Flask run --debug», хотя его запуск через скрипт Python занимает столько же времени. (ps. Я знаю, что он ужасно обрабатывает загрузки, мне придется его пересмотреть позже.)
Код: Выделить всё
from flask import Flask, app, render_template, url_for, send_from_directory, abort, send_file
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import time
import os, shutil
import glob
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('accCredentials.json', scope)
client = gspread.authorize(creds)
sheet = client.open("Raspi_data")
worksheet = sheet.worksheet("RawData")
app = Flask(__name__)
@app.route("/")
def main():
return render_template("Index.html")
i = 0
@app.route('/downloads')
def downloadpage():
global i
def cleardir():
folder = 'C:\\webserver\\downloads'
for filename in os.listdir(folder):
file_path = os.path.join(folder, filename)
try:
if os.path.isfile(file_path) or os.path.islink(file_path):
os.unlink(file_path)
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
except Exception as e:
print('Failed to delete %s. Reason: %s' % (file_path, e))
if i == 0:
cleardir()
data = worksheet.get_all_values()
i += 1
if i > 24:
i = 1
cleardir()
txtfilename = ("txtfile" + str(i))
path = os.path.join('C:\\webserver\\downloads', txtfilename)
try:
txtfile = open(path, "x")
txtfile.write(str(data))
except FileExistsError:
exit
return render_template('downloadpage.html', INPUT_NAME_1 = txtfilename)
@app.route('/downloads/', methods=['GET', 'POST'])
def download_link(name):
try:
return send_from_directory(
app.config['downloads'], path=name, as_attachment=True
)
except FileNotFoundError:
abort(404)
@app.route('/restartserver')
def restart():
#os.system("Flask run --debug")
app.redirect("/")
return "Currently Unavailibe"
@app.route("/raw")
def raw():
return (worksheet.get_all_values())
@app.route('/request/variable/counter')
def getcount():
return "nothing"
if __name__ == "__main__":
app.run(debug=True)
Я думаю, что это может быть что-то с модулями gspread или oath2client, после их комментирования кажется, что это происходит быстрее, но я не слишком в этом уверен.>
Подробнее здесь: https://stackoverflow.com/questions/793 ... or-restart
Мобильная версия