Как обновить схему без перезапуска сервиса - PullRequest
0 голосов
/ 08 ноября 2018


Моя программа использует apollo-server-koa в качестве сервиса graphql, и я хочу динамически обновлять схему. Например:
- Когда пользователь загружает данные на сервер, схему также необходимо обновить, но не перезапускать службу.
Я прочитал схему преобразования и сшивания схемы, но они не отвечают моим требованиям.
Любой может дать мне совет.
Большое вам спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018

Я делаю это с apollo-server-express@1.3.2. Я еще не перешел на 2, и я не делаю коа, но я предполагаю, что это будет примерно то же самое. Если нет, надеюсь, это хотя бы поможет.

const { graphqlExpress } = require('apollo-server-express')
let schema = loadRemoteSchemas() // this loads it on start-up

app.use(async (req, res) => {
  return {
    schema: await schema,
  }
}

app.use('refresh', async (req, res) => {
  // some middleware that does stuff and changes the `schema` pointer
})
...