Как не исчерпать память при запуске скрипта Python навсегда - PullRequest
0 голосов
/ 13 мая 2019

У меня есть скрипт, который анализирует CSV, удаляет старые данные и непрерывно вставляет новые данные в mongodb внутри CentOS vm. Кажется, мне не хватает памяти после нескольких дней, и сценарий падает. Как я могу запустить его навсегда без этой проблемы. Код выглядит так:

def CSV_TO_MONGO:
    '''
    '''

import gc
while True:
    CSV_TO_MONGO()
    gc.collect()

1 Ответ

0 голосов
/ 15 мая 2019

Многопроцессорность, кажется, делает эту работу. Но не уверен, что это лучший способ. Пока это работает, пока не будет найдено лучшее решение.

Редактировать: Обнаружено, что mongodb является частью проблемы. Выполнение массового удаления и массовой вставки постоянно приводит к потере оперативной памяти.

def CSV_TO_MONGO:
    '''
    '''

from multiprocessing import Process
while True:
    p = Process(target=CSV_TO_MONGO)
    p.start()
    p.join()
...