未调用 Apollo 服务器健康检查
Apollo Server health check not getting called
这是一个基本问题,我按照文档进行了操作,但没有按预期工作,请说明一下。
因此,我正在使用 Apollo-Server 创建一个 grapqhl 服务器,并尝试让这里给出的健康检查 url 正常工作 https://www.apollographql.com/docs/apollo-server/features/health-checks
代码如下:
const { ApolloServer, makeExecutableSchema } = require('apollo-server')
const typeDefs = require('./schema/types/')
const resolvers = require('./schema/resolvers/')
const schema = makeExecutableSchema({ typeDefs, resolvers })
const server = new ApolloServer({
schema,
onHealthCheck: () => new Promise((resolve) => { console.log('hc called'); resolve() })
})
server
.listen({ port: 5000 })
.then(({ url }) => console.log(` Server ready at ${url}`))
.catch(() => console.log('error'))
当我启动服务器时,我得到了这个日志:
Server ready at http://localhost:5000/
而且,我也可以在 graphql-playground 中看到架构,这意味着我的 typeDefs 和 解析器 很好,但是当我 ping url:
{server_address}:5000/.well-known/apollo/server-health
我得到的输出为:
{
"status": "pass"
}
没有任何日志说:hc called 我在代码中添加了名为“onHealthCheck”的键,现在我解决了它同样,根据文档。
那么问题出在哪里,我遗漏了什么,请说明一下。
编码愉快:)
PS:我正在使用 apollo-server 2.5.0 版本,我认为最近更新了 onHealthCheck not getting called[=16= 的 onHealthCheck 修复程序]
修复刚刚在 6 天前合并到 master 中。您需要更新到更高版本,例如 2.6.0-alpha.8
.
这是一个基本问题,我按照文档进行了操作,但没有按预期工作,请说明一下。
因此,我正在使用 Apollo-Server 创建一个 grapqhl 服务器,并尝试让这里给出的健康检查 url 正常工作 https://www.apollographql.com/docs/apollo-server/features/health-checks
代码如下:
const { ApolloServer, makeExecutableSchema } = require('apollo-server')
const typeDefs = require('./schema/types/')
const resolvers = require('./schema/resolvers/')
const schema = makeExecutableSchema({ typeDefs, resolvers })
const server = new ApolloServer({
schema,
onHealthCheck: () => new Promise((resolve) => { console.log('hc called'); resolve() })
})
server
.listen({ port: 5000 })
.then(({ url }) => console.log(` Server ready at ${url}`))
.catch(() => console.log('error'))
当我启动服务器时,我得到了这个日志:
Server ready at http://localhost:5000/
而且,我也可以在 graphql-playground 中看到架构,这意味着我的 typeDefs 和 解析器 很好,但是当我 ping url:
{server_address}:5000/.well-known/apollo/server-health
我得到的输出为:
{
"status": "pass"
}
没有任何日志说:hc called 我在代码中添加了名为“onHealthCheck”的键,现在我解决了它同样,根据文档。
那么问题出在哪里,我遗漏了什么,请说明一下。 编码愉快:)
PS:我正在使用 apollo-server 2.5.0 版本,我认为最近更新了 onHealthCheck not getting called[=16= 的 onHealthCheck 修复程序]
修复刚刚在 6 天前合并到 master 中。您需要更新到更高版本,例如 2.6.0-alpha.8
.