У меня есть представление, которое извлекает экземпляр класса и запускает на нем метод:
def run_loader(request, loader_id):
try:
pl = Loader.objects.get(pk=loader_id)
pl.run()
return JsonResponse({ 'success': True}, safe=False)
except Exception as e:
print(e)
return JsonResponse(
'error', safe=False
)
Когда это представление запускается через HTTP-запрос к связанному пути, обработка примерно в 300 раз медленнее, чем когдазапустить через оболочку Django, используя RequestFactory
.
Я попытался перейти по пути, используя Axios и Postman, с тем же результатом.
Метод run()
включает обработку множества строк кадров данных Pandas.Когда представление запускается через оболочку Django, завершение занимает несколько минут.
В конце концов я перенесу это на асинхронный рабочий процесс, но меня сбивает с толку разница в скорости.В чем может быть причина?