Привет! Я заметил, что функция локального хранилища для загрузки файлов реализована в том же потоке, что и сервер Rails. Не приведет ли это к блокировке сервера Rails при большом количестве одновременных загрузок? Хотел бы узнать, лучше ли реализовать функции дискового ввода-вывода локального хранилища в отдельных потоках или текущая реализация вполне хороша?
Загрузка файлов реализуется несколькими способами.
Загрузка в S3 происходит напрямую в S3.
Загрузка через NGINX использует SENDFILE, что означает, что Rails получает весь файл для обработки.
Также мы по мере необходимости перемещаем задачи в фоновые потоки, используя hijack и defer.
Мы всегда открыты для улучшений. Если вы хотите внести свой вклад через pull request и столкнулись с конкретной проблемой, дайте знать.