Flask - Почему при записи в файл перед выключением часто пишется только пустой файл? - PullRequest
1 голос
/ 20 октября 2019

Я попытался создать прототип веб-сайта с помощью фляги, и вместо использования базы данных я хотел сохранить состояние веб-сайтов в два файла json при отключении сервера.

Пока это работает на моем компьютере, на моемНа сервере один из файлов часто пишется неправильно, и все, что я получаю, это пустой файл.

Я думаю, что это связано со мной, использующим uwsgi для обслуживания сайта вместо сервера отладки фляг, однако я установилколичество потоков, которые uwsgi использует в 1, установив процессов = 1 в файле конфигурации.

from flask import Flask
import json
import atexit
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'


def save():
    with open('file.json', 'w', encoding='utf-8') as f:
       json.dump(something_large, f, ensure_ascii=False, indent=4)
    with open('other_file.json', 'w', encoding='utf-8') as f:
       json.dump(something_small, f, ensure_ascii=False, indent=4)

atexit.register(save)
...