Как проверить, работает ли сервер графической йоги локально?

У меня есть служба 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");
};
Другие вопросы по тегам