Кукольный безголовый браузер зависает после нехватки памяти - PullRequest
0 голосов
/ 27 февраля 2019

Я использую wavesurfer, чтобы сгенерировать sepctrograms из wav files, а затем сохранить их с помощью функции screenshot().Дело в том, что мне нужно уничтожить wavesurfer instance и создавать новый каждый раз, когда я загружаю новый wav file.В противном случае waveforms будет складываться и вызывать сбой.

Вот как структурирован мой код:

for(waveFile in waveFiles){
  page.evaluate((){
   // create wavesurfer instance generate the spectrogram and 
  // return getBoundingClientRect of the div surrounding the spectrogram 
  //to take a screenshot of it
  })
  page.screenshot()
 //afterwards i need to destroy the wavesurfer instance
}

Я попытался передать экземпляр формы волны и уничтожить его в новой функции оценки ().но это не сработало.Как я могу достичь этого?

1 Ответ

0 голосов
/ 28 февраля 2019

Вы пытаетесь запустить браузер с флагом - disable-dev-shm-using ?

const browser = await puppeteer.launch({
  args: ['--disable-dev-shm-usage']
});

По документу от кукловода:

По умолчанию Docker запускает контейнер с общим объемом памяти / dev / shm 64 МБ.Это обычно слишком мало для Chrome и приведет к сбою Chrome при рендеринге больших страниц.Чтобы исправить, запустите контейнер с докером, запустите --shm-size = 1gb, чтобы увеличить размер / dev / shm

...