2017-05-09 1 views
0

Ich habe einen kleinen Server mit Kolben zum Hochladen von Dateien (und dann Zeug mit ihnen). Der Upload ist durch und HTML-Formular, das eine Datei sendet:Server kann keine großen Dateien mit Gunicorn hochladen

<form action="/upload" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file"> 
    <input type="submit"> 
</form> 

Auf der Serverseite ich folgendes tun:

@app.route('/upload', methods=['POST']) 
def upload(): 
    if 'file' in request.files: 
     f = request.files['file'] 
     file_path = os.path.join(app.config['UPLOAD_FOLDER'], werkzeug.secure_filename(f.filename)) 
     f.save(file_path) 

    return 'File is being uploaded' 

Es ist für kleine Dateien funktioniert gut, aber bei großen Dateien, es funktioniert nicht. Das Problem ist, dass wenn ich das Skript manuell nicht durch Gunicorn python main.py ich kann Dateien hochladen, die ich nicht zuvor konnte. Ich dachte, ich müsste die maximale Größe in Gunicorn ändern, konnte aber nicht finden, wie es geht.

Ich dachte auch, einen Strom zu verwenden und dann Stücke zu schreiben, aber wieder konnte ich nicht finden, wie man auf den Strom mit Flasche zugreift.

Danke für Ihre Hilfe

+0

Inwiefern? – pvg

Antwort

-1

Es könnte wegen Timeout Problem sein. Standardmäßig bleibt Gunicorn hängen, wenn ein Prozess länger als 30 Sekunden dauert. Die Zeit zum Hochladen einer großen Datei kann diesen Betrag leicht überschreiten. Möglicherweise möchten Sie beim Starten von Gunicorn einen benutzerdefinierten Zeitüberschreitungswert angeben. Zum Beispiel, wenn Sie Timeout auf 300 Sekunden eingestellt werden: exec gunicorn [app]:[app] --timeout 300

Quelle: „Es funktioniert gut für kleine Dateien, aber bei großen Dateien, scheitert es“ gunicorn timeout setting

Verwandte Themen