Procyon, если используете конкретный гем для graphql - укажите его. Мой способ тоже работает на бэкэнде в руби, но я думал вам нужна локализация для внешнего стороннего API (который нельзя менять)
Богдан, вам нужно для начала найти в чем проблема. Мы за вас этого не сделаем, по той скудной информации которую вы предоставили. Начните с отладки, расставьте запись в лог сообщений в вашем контроллере, найдите место где все виснет, потрассируйте в отладчике. Потом уже скорректируйте ваш ворос (или напишите как исправили проблему)
asdasda11, если прибегнуть к аналогиям вы спрашиваете "как мне прострелить себе ногу?", ну вам посоветовали как. Ну, ок, пусть вы будете стрелять в ногу заказчика по его просьбе. Но вопрос "зачем" он будет у адекватных людей возникать всегда при взгляде на очередного умника, стреляющего себе в ногу. Не сочтите за наезд :)
Sergey Filnor, если все так, то похоже проблема у вашего бэка. Вообще стандартный способ создания чего либо это POST на url коллекции, в ответ вам выдают 201 и хэдер Location со ссылкой на вновь созданный объект. Ну или сам объект с заполнеными id, но это не всегда оптимально по трафику...
Николай, неизвестно по какому критерию оптимизировали API. Если по понятности для человеков, то никакие ссылки через id там фигурировать не должны (ну или должны по минимуму).
Sergey Filnor, вы все верно уловили. В существующий проект внедрять наверное смысла нет, если это затратно, тем более что функционал разборки/сборки сложного объекта у вас уже написан.
Вообще я так спросил, знаете ли вы про эту библиотеку т.к. сам его использую для таких вот сложных объектов.
Например, если вы API используете на медленном клиенте (смартфон по 3G например) то на каждый новый запрос растут накладные расходы протокола HTTP (коннект, хэндшэйк, пердача хэдеров и т.п.) и собирнием все вподряд в один запрос обычно пытаются этого избежать.
Понятно что все хорошо без фанатизма и нужно искать баланс..
X - количество других процессов, соединяющихся с БД, например Sidekiq, cron-задачи, етц
А вообще нужно иметь статистику использования вашего приложения, если оно запросы отрабатывает быстро и нагрузка невелика то количество RAILS_MAX_THREADS можно снизить. Чем больше пул соединений тем больше памяти оно отжирает, рекомендуют не более 30 выставлять...
RAILS_MAX_THREADS использется апп-сервером puma для настройки максимального количества нитей (для воркера). Вы такой настройкой всю память скушаете в продакшне