【问题标题】:Apollo Server health check not getting calledApollo 服务器健康检查没有被调用
【发布时间】:2019-10-14 21:49:19
【问题描述】:

这是我遵循文档的一个基本问题,它没有按预期工作,请说明一下。

所以,我正在使用 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 中看到 Schema,这意味着我的 typeDefsresolvers 都很好,但是当我 ping 网址时:

{server_address}:5000/.well-known/apollo/server-health

我得到的输出是:

{
   "status": "pass"
}

没有任何日志说:hc called,我在代码中添加了名为“onHealthCheck”的密钥,现在我也根据文档解决了它。

那么问题出在哪里以及我错过了什么,请阐明一下。 快乐编码:)

PS:我正在使用 apollo-server 2.5.0 版本,我认为它最近更新了 onHealthCheck not getting called 的 onHealthCheck 修复

【问题讨论】:

    标签: node.js graphql apollo-server nodejs-server


    【解决方案1】:

    该修复程序在 6 天前刚刚合并到 master 中。您需要更新到更高版本,例如2.6.0-alpha.8

    【讨论】:

    • 谢谢..它工作了,但是我们不能改变对其他json的响应吗?
    猜你喜欢
    • 2020-12-19
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 2021-12-18
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多