jQuery .getJSON () опрос утечки памяти - PullRequest
0 голосов
/ 12 мая 2018

У меня есть инструментальная панель, которая отображает некоторую статистику, и до сих пор она была довольно статичной, то есть, если я хотел свежих данных, мне приходилось обновлять страницу. С тех пор я перешел на более динамичный способ с помощью jquery для загрузки статистики за интервал. Он работает довольно хорошо, мне больше не нужно обновлять страницу.

Тем не менее, я заметил, что если я оставлю страницу открытой на некоторое время, использование памяти будет расти и расти без признаков остановки. Он начинается примерно с 50 МБ, затем через пару часов (может быть, только 1) он достиг 1,2 ГБ. Обновление страницы не освобождает память!

И очевидный вопрос ... Что я делаю не так?

Примеры:

@app.route("/getstats")
def getstats():
    return jsonify({'data': render_template('stats.html', stats=stats())})


<script type="text/javascript">
    $(function poll() {
        var isMenuClosed = document.querySelector('.mdl-menu__container.is-visible') == null;
        if (isMenuClosed) {
            $.getJSON('/getstats',
                function(data) {
                    $("tbody#stats").empty().append(data.data);
                    componentHandler.upgradeDom();
                });
            $.getJSON('/getwidgets',
                function(wdata) {
                    $("div#widgets").empty().append(wdata.data);
                });
        }
        setTimeout(poll,5000);
        return false;
    }); 
</script>

У меня очень ограниченные знания по Python и особенно по JavaScript.

...