如何关闭graphql-yoga服务器?

问题描述 投票:0回答:2

对于快递,其描述见

如何正确关闭node-express服务器?

但是在瑜伽文档中

https://github.com/prisma/graphql-yoga

没有关于

close
方法的信息。


更新

@perdox的解决方案解决了我的问题,正确答案是:

const gqlServer = new GraphQLServer({ typeDefs, resolvers });
const server = gqlServer.start(() => console.log('Server is running on localhost:4000'));
(async function f() {
    (await server).close();
})();
express graphql-js prisma-graphql
2个回答
1
投票

GraphQLYoga 是一个工具集合,使用/包装 Express 服务器。

参见:https://github.com/prisma/graphql-yoga/blob/master/src/index.ts

正如您在源代码中看到的那样,GraphQLServer 包装了 Express 服务器,并且 start 方法返回一个 HttpServer Promise。因此,您应该能够通过调用 HttpServer 上的 close 方法来关闭服务器:

const gqlServer = new GraphQLServer({ typeDefs, resolvers })
const server = gqlServer.start(() => console.log('Server is running on localhost:4000'))
server.close()

0
投票

要正确关闭 [*graphql-yoga 服务器*][1],优雅地处理服务器关闭非常重要。这里更详细地解释了如何关闭服务器,包括如何根据各种信号或条件来停止它。这涉及在需要时停止服务器(例如,当应用程序结束或接收终止信号时),并以优雅的方式处理正在进行的连接。

优雅关闭 GraphQL Yoga 服务器的示例代码 下面是一个完整的示例,演示了如何启动 graphql-yoga 服务器,处理各种关闭条件,并确保服务器正常停止而不会突然切断正在进行的请求。

© www.soinside.com 2019 - 2024. All rights reserved.