Это основная проблема, за которой я следовал, и она не работает должным образом, пожалуйста, пролите немного света.
Итак, я создаю сервер grapqhl с Apollo-Server и пытаюсь заставить работать 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-playstation , что означает, что мои typeDefs и распознаватели в порядке, но когда я пинг URL:
{server_address}:5000/.well-known/apollo/server-health
Я получаю вывод как:
{
"status": "pass"
}
Без каких-либо записей в журнале: hc с именем , который я добавил в код для ключа с именем ' onHealthCheck ', и на данный момент я также решил его, согласно документам.
Так в чем же проблема и что я пропустил, пожалуйста, пролите немного света.
Удачного кодирования:)
PS: я использую apollo-server 2.5.0 версию, которая, я думаю, совсем недавно была обновлена с исправлением onHealthCheck для onHealthCheck не вызывается