AllDecay
@AllDecay
Вечно отдыхающий.

Fetch кушает много ОЗУ. Как исправить?

var humanize = require('humanize');
var request  = require('request');

function fetch(url, c) {
  request(url, function(err, resp, body) {
        if (err) {
            c(err);
            return;
        }
        c(err, resp, body)
    });
}
function callback(err, resp, body) {
    var memory = process.memoryUsage();
    console.log("Memory usage: " + humanize.filesize(memory.heapUsed) + " / " + humanize.filesize(memory.heapTotal));
    fetch('тут_url_запроса', callback)
}
function Number() {
    fetch('тут_url_запроса', callback);
}
setInterval(Number, 350)

Вот собственно почти весь код. Почитав форумы и прочие сайты с информацией так ничего и не нашел..
P.s на хабре нашел параметры запуска: node --nouse-idle-notification --expose-gc server.js
они не помогают.
С каждым запросом нарастает озу доходя до >100 и процесс убивается автоматически.

Так как избавится от такого прироста озу? Ведь обычные html запросы а ОЗУ требуют жестко.
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MadridianFox
Web-программист, многостаночник
У вас fetch вызывает переданный ему callback, а callback снова вызывает fetch и так по кругу.
Ответ написан
pomeo
@pomeo
Вам не те ключи нужны, а node --max_old_space_size=128 server.js
128 это мегабайты. Без ключей нода занимает обычно 1.5Гб памяти
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы