Я разрабатываю бот-телеграмму с telegraf
и развертываю его на heroku, недавно я решил добавить API GraphQl с apollo-server
, но сервер начал падать с
events.js 167: throw er Unhandled 'error' event
Он отлично работает с локальной установкой, поэтому кажется, что проблема с развертыванием heroku. Я немного исследовал и понял, что heroku не может запустить два express
сервера, например, из-за его динамических портов, но в моем приложении я использую порт только один раз для сервера graphql, по крайней мере, я вижу это так. Может быть, мне не хватает того, что мои телеграммы api или что-то еще также пытаются занять порт.
Мой сервер graphql выглядит довольно упрощенно:
clconst { ApolloServer } = require("apollo-server");
const typeDefs = require("./graphql/schema/index");
const resolvers = require("./graphql/resolvers/index");
const server = new ApolloServer({
typeDefs,
resolvers,
introspection: true,
playground: true
});
server.listen({ port: process.env.PORT || 4000 }).then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
Код для приложения с коммитом, который ломает сервер heroku:
https://github.com/d-ivashchuk/telegram-bot/commit/1cdaca366cd69d6e615df21a5ed36bfe22ca5e12