MIB
MIB

Reputation: 347

pm2 cluster calling a specific instance? And one request handled by all instances simultaneously

I am having a small problem with an application ran by pm2 cluster mode. Normally everything is working fine, but due to the logic of my application and recently switching to cluster mode i am now facing an issue, i can't handle properly without refactoring my application from the ground.

My application uses express for http-request handling and uses also global variables to store data, timers, etc. Now after switching to pm2 cluster mode, only one of the instances has a value, but the others don't. Thats resulting in problems, because of inconsistencies over the different instances. The behaviour is clear, but i would have to refactor many things to make the application in whole work properly again.

I already saw things like the INSTANCE_VAR, but could not find out how that could help me.

All i can think of at the moment is, am i able to force pm2 to send a http request to all instances simultanously, or if not can i tell pm2 to handle my request with a specific instance, which i define on the runtime from the outside and without interfering the other instances?

Upvotes: 2

Views: 1164

Answers (2)

test test
test test

Reputation: 1

your server has to be stateless. but it has a state. either you use redis and have your state over there or change your application logic.

Upvotes: 0

Abdeen
Abdeen

Reputation: 932

I am actually having something similar were i want a specific api request to make an update available registered only on process. Here i found a way to send a message/event to a specific process, i think it may help

Upvotes: 0

Related Questions