Size: a a a

GraphQL — русскоговорящее сообщество

2020 July 06

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
В GraphQL это называется nested mutation. Есть несколько особенностей:

* подразумевается, что мутация — одна транзакция (либо операция выполнится полностью, либо не выполнится совсем). Есть вариант с partial update.

* В query поля выполняются параллельно, в mutation поля запускаются последовательно.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Учитывая, что в GraphQL мутации не обязательно мутируют данные в базе данных, а это просто средство удалённого вызова функций (которые могут делать что угодно, не обязательно связанное с базой данных), эту особенность с последовательным выполнением полей (функций) нужно учитывать.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Делать несколько мутаций имеет смысл, если производится изменение полей не связанных между собой сущностей или запуск независимых функций.
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
не пойму, а как связаны эти мутации?
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а есть на русском доходчивое обьяснения, как графкл берет и находит все зависимости, как граф строит вообще , парсит и подобное
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
и вообще, такие запросы не громоздко? а если разными мутациями?
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
не пойму, а как связаны эти мутации?
Никак. Это как раз пример несвязанных мутаций. И пример того, что мутация ничего не мутирует, а просто запускает функцию, не связанную напрямую с базой данных — вычисление токена авторизации или отправка письма.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
и вообще, такие запросы не громоздко? а если разными мутациями?
А вот в этом примере как раз логично выполнять эти операции одной транзакцией.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
С mutation ситуация такая же, как и с query. И query можно разбить на несколько query.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Нужно смотреть, связаны ли логически данные, которые вы хотите запросить или изменить, или нет.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
У query, например, тоже есть нюанс, о котором нужно помнить:

* запрос разрезолвится тогда, когда разрезолвятся самые медленные поля

Поэтому если запрашивать много данных сразу одним запросом и собирать эти данные из разных источников, то данные клиент получит не быстрее, чем ответит самый медленный источник.

Поэтому запросы разбивают по схеме "каждый компонент на фронтенде запрашивает данные, необходимые для своей работы отдельным запросом", а не все данные, нужные для работы всего экрана одним запросом.

Ну и т.д.
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
а есть на русском доходчивое обьяснения, как графкл берет и находит все зависимости, как граф строит вообще , парсит и подобное
а вот тут есть ссылки может у кого?
источник

DS

Dmitriy Soldatov in GraphQL — русскоговорящее сообщество
@FluorescentHallucinogen Спасибо за развернутое объяснение) Про nested мутации даже не знал
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Alex Neo
ребятки, а кто может подскажет куда копать?
apollo-server-express
engine фиксирует регулярные запросы по одному из методов (по 3 запроса в минуту круглые сутки)
где искать? кто шлет запросы на сервер?
я таки нашел кто дергал сайт))
это был UptimeBot
он каждые 20 секунд пингует сайт, тот думает, что его просматривают и отправлял запрос на сервер
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Alex Neo
я таки нашел кто дергал сайт))
это был UptimeBot
он каждые 20 секунд пингует сайт, тот думает, что его просматривают и отправлял запрос на сервер
настрой uptimebot на health-check
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
он же встроен в apollo-server
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Олег Линьков
он же встроен в apollo-server
спасибо, завтра попробую
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а dataloaders еще актуально юзать? в видосе увидел, но он 18 года
источник