Celery с Django проблема утечки памяти. Просто не могу понять, что происходит
`Celery ведет себя странно. Он использует 5,5 Гб, что составляет около 90% оперативной памяти во время выполнения на сервере, и это замедляет работу сервера.
Отладка установлена на False.
Кроме того, я установил max_tasks_per_child на 2, но он освобождает память после выполнения задачи. Я хочу заставить его использовать меньше памяти, а он выполняет задание около 600 секунд.
celery==5.1.2 Django==3.2.4
вот моя задача, которую я пробовал:
def check_sites2(url):
session = get_session()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
try:
response = session.head(url.url, headers=headers, timeout=21)
except requests.exceptions.SSLError as e:
response = session.head(url.url, verify=False, headers=headers, timeout=21)
except Exception as e:
print("Something went wrong {e}")
def download_all_sites(sites):
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(check_sites2, sites)
@shared_task
def api_checker_stats():
api_list = URL.objects.filter(active=True) # about 500 url objects
download_all_sites(api_list)`
return 1