Как проверить, работает ли сервер графической йоги локально?
У меня есть служба pubsub, работающая с Redis, и мне нужно проверить, запущен ли локально сервер GraphQL Yoga, прежде чем запускать его.
Как лучше всего это сделать в Node.js с помощью TypeScript?
HealthCheckEndpoint настроен на «живой», порт 4000
1 ответ
С тем чтобы обеспечитьRedis
не подключается, покаGraphQL
работает, вы можете асинхронно импортировать библиотеку Redis внутри обратного вызова успеха сервера.
index.js
import { createServer } from "node:http";
import { createYoga } from "graphql-yoga";
import { schema } from "./schema.js";
import redis from "./redis.js";
// Create a Yoga instance with a GraphQL schema.
const yoga = createYoga({ schema });
// Pass it into a server to hook into request handlers.
const server = createServer(yoga);
// Start the server and you're done!
server.listen(4000, async () => {
console.info("GraphQL server is running on http://localhost:4000/graphql");
await redis();
return Promise.resolve();
});
redis.js
import Redis from "ioredis";
export default async () => {
const redis = new Redis();
return redis.set("mykey", "value");
};