Nous utilisons des abonnements GraphQL et pubsub pour vous abonner aux messages.Abonnements GraphQL: Auditeurs maximum dépassés Avertissement
Lorsque plus de 10 abonnements se produisent, nous recevons le message d'avertissement "MaxListenersExceededWarning: Possible EventEmitter memory leak detected."
Est-il possible d'augmenter les écouteurs max dans la classe pubsub?
La classe PubSub se trouve dans un module séparé et ressemble à ceci:
import { PubSub } from 'graphql-subscriptions';
const pubsub = new PubSub();
export { pubsub };
Le serveur d'abonnement ressemble à ceci:
import { SubscriptionManager } from 'graphql-subscriptions';
import { createServer } from 'http';
import { SubscriptionServer } from 'subscriptions-transport-ws';
import { pubsub } from './subscriptions';
import executableSchema from './executableSchema';
const WS_PORT = 8080;
const websocketServer = createServer((request, response) => {
response.writeHead(404);
response.end();
});
websocketServer.listen(WS_PORT,() => console.log(
`Websocket Server is now running on http://localhost:${WS_PORT}`
));
const subscriptionManager = new SubscriptionManager({
schema: executableSchema,
pubsub: pubsub,
setupFunctions: {
newPost: (options, args) => {
return {
newPostChannel: {
filter: (post) => {
return args.publicationId === post.relatedPublication.id;
}
},
};
},
},
});
const subscriptionServer = new SubscriptionServer({
subscriptionManager: subscriptionManager
}, {
server: websocketServer,
path: '/',
});
export {
subscriptionServer,
};
"... Je recommande fortement d'utiliser un système différent ..." merci, j'apprécie l'info. – Sasha
Cela devrait vraiment être ajouté au readme graphql-abonnements. Je ne m'en suis pas rendu compte et j'ai exécuté la configuration par défaut de EventEmitter en production pour quelques mois maintenant! (et j'ai constamment reçu des avertissements de fuite de mémoire) – mxstbr
Je suis allé de l'avant et soumis un PR pour ajouter une note à ce sujet au readme du paquet: https://github.com/apollographql/graphql-subscriptions/pull/110 – mxstbr