-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
В selection/backend.py используется кеш XPATH_CACHE.
При динамических xpath запросах кеш вырастает съедает всю доступную оперативную память.
Пример кода который вызывает memory leak:
for i in range(1000000000000000):
grab.doc('//div[@id={}]'.format(i))Временное решение - очищать кеш вручную после использования запроса:
del selection.backend.XPATH_CACHE['//div[@id={}]'.format(i)]Скорее всего лучше переделать такой кеш на кеш с ограниченным размером например 1000, в котором самые старые элементы выталкиваются новыми.
Metadata
Metadata
Assignees
Labels
No labels