Skip to content

Multiprocessing #254

Open
Open
@dotsinspace

Description

@dotsinspace

Does any one have clustering example of smpp or how can i use node-smpp with bullmq processor.

Activity

denishrana09

denishrana09 commented on May 31, 2024

@denishrana09

I have tried with node cluster module. but every request is served by single child process.

System is completely working, but when there is bulk data, some requests are being lost.

Trying to build load balancer for smpp.

Anyone have idea on how to build this?

One reference I found is SMPP Load Balancer, obv it's paid.

Btw, I have used basic cluster code like below:

const cluster = require('cluster');
const os = require('os');

if (cluster.isMaster) {
    const numCPUs = os.cpus().length;

    // Fork workers.
    for (let i = 0; i < numCPUs; i++) {
        cluster.fork();
    }

    cluster.on('exit', (worker, code, signal) => {
        console.log(`Worker ${worker.process.pid} died`);
        cluster.fork(); // Restart the worker
    });
} else {
    // Workers can share any TCP connection
    // In this case it is an SMPP server
    require('./smpp-server');
}
dotsinspace

dotsinspace commented on Jun 3, 2024

@dotsinspace
Author

I am looking for the same...and same issue is happening to my smpp server...some of the PDUs are just getting lost.

Now coming to your setup you can use pm2 itself instead of this. and it is more reliable in this case...but still some of the smpp out there will not going to work...and that might be due to SMPP Session and Multiprocessing implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @denishrana09@dotsinspace

        Issue actions

          Multiprocessing · Issue #254 · farhadi/node-smpp