Приложение Django работает нормально на localhost, но не работает на elastic beanstalk 500 внутренних ошибок

У меня есть приложение django, и оно прекрасно работает на localhost (без проблем). Оно загружает json файл в структуру данных (Trie), и используется в одном маршруте. Чтение файла и построение Trie занимает около 2-3 секунд (в моем списке тысячи слов). Все это нормально работает на локальном хосте, так как занимает всего 2-3 секунды в один раз (при запуске сервера). Затем, когда вы вызываете маршрут на front end с помощью POST к маршруту, он выполняет поиск в Trie и возвращает результаты (OK). Все работает нормально на localhost. Однако когда я пытаюсь применить этот же подход на AWS Elastic Beanstalk, он возвращает 500 Internal Server Error на каждом маршруте (маршруты, которые не используют этот Trie, также выдают точно такой же код ошибки). Поэтому я собираюсь показать некоторый соответствующий код, как я загружаю файл и как он используется в приложении.

module_dir = os.path.dirname(__file__)
file_path = os.path.join(module_dir, 'trie.json')
myTrie = Trie()
myTrie.load(file_path)#Loads the trie from a json file that is just a list(array)
...
...
#in search view post route
return Response(myTrie.search(word)) #note word is part of the request body.

Все это прекрасно работает на localhost, и оно прекрасно находит и загружает файл в Trie, однако этот же код заставляет все маршруты (не только маршруты поиска, или пользовательские маршруты и т.д.) возвращать 500 Internal Error (не 502 bad gateway), все приложение становится непригодным для использования, когда это развертывается в приложении... Как ни странно, если я не вызываю MyTrie.load(file_path), приложение остается работоспособным и все маршруты работают (однако у триэ нет данных для поиска, что делает маршрут бесполезным).

Вот часть структуры, которую использует мое приложение:

MyAPP:

MyAppEnv
MyApp

trie.py

manage.py
пользователи
requirements.txt
Procfile
...
search

views.py
trie.json

Еще одна вещь, которую я хотел бы упомянуть, это то, что для работы на localhost мне нужно импортировать Trie в manage.py, например, from MyApp.trie import Trie. Однако он 100% работает на localhost без проблем.
Я думаю, что это проблема с чтением файла, когда он загружается на elastic beanstalk, но я не уверен. Если бы это была проблема с загрузкой файла, тогда почему он развертывается как OK, но каждый маршрут дает 500 внутреннюю ошибку сервера (кроме маршрута "/").
Как мне отладить эту проблему, чтобы понять, в чем проблема, и в чем именно она заключается? Спасибо

Вернуться на верх