我有一个 Elixir Umbrella 应用程序,带有 Phoenix、Absinthe (graphQL)。在AppWeb,我的AppWeb.Router路线请求,处理/graphql和Absinthe.Plug使用MyApp.Schema。
在其中AppWeb.Schema,我使用import_types. 我将Users用作示例。
Users.Schema有对象和字段,最终将在哪里resolve &Resolvers.resolve_x/2
我知道 Phoenix 正在对每个请求启动一个新进程,hexdocsAbsinthe.Schema状态在 Absinthe 1.5 模式中是使用执行查询的相同进程构建的。这是否意味着由 phoenix 请求创建的每个新进程都与单个模式( AppWeb.Schema) 进程通信?如果是这样,那不会造成瓶颈吗?如果不是,那不是有很多代码(所有 OTP 应用程序中的所有解析器和相关函数)都要转移到每次产生的新模式进程中吗?