Процессы Zombie Firefox и Geckodriver после запуска запланированного скребка (на основе безголового селена)
У меня есть 10 заданий, которые представляют собой скребки на основе селена, которые используют сельдерей для планирования и запуска с Redis в качестве брокера.
Selenium использует geckodriver для подключения и использует Firefox (безголовый режим) для очистки данных.
Проблема, с которой я сталкиваюсь, состоит в том, что, как только работник сельдерея выполняет задачу, которая порождает процессы FireFox для очистки. Хотя я использую driver.quit()
в конце каждой задачи существуют постоянные процессы Firefox и geckodriver.
Это выше суть моей проблемы. Это приводит к тому, что я поглощаю большую часть моей оперативной памяти и в конечном итоге приводит к нехватке памяти, доступной для выполнения других задач скребка.
Независимо от объема оперативной памяти. Задача селена не должна оставлять зомби-процессы, даже если driver.quit()
называется.
Любые предложения, чтобы решить это было бы здорово.