Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7987735
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T12:14:03+00:00 2026-06-04T12:14:03+00:00

I have to listen for rpc calls , stack them somewhere , process them,

  • 0

I have to listen for rpc calls , stack them somewhere , process them, and answer. The thing is that they are not run as soon as they come. The response is an ACK for each rpc call recieved.
The problem is that i want to design it in a way that i can have many listening servers writing in the same stack of calls, piling them up as they come.

My objective is to listen to as many calls as possible. How should i achieve this?

My main technology is Perl and node.js but would use any open source software for this task.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T12:14:04+00:00Added an answer on June 4, 2026 at 12:14 pm

    It sounds like any kind of job queue will do what you need it to; I’m personally a big fan of using Redis for this kind of thing. Since Redis lists maintain insertion order, you can simply LPUSH your RPC call info on to the end of the list from any number of web servers listening to the RPC calls, and somewhere else (in another process/on another machine, I assume) RPOP (or BRPOP) them off and process them.

    Since Node.js uses fully asynchronous IO, assuming you’re not doing a lot of processing in your RPC listeners (that is, you’re only listening for requests, sending an ACK, and pushing onto Redis), my guess is that Node would be exceedingly efficient at this.

    An aside on using Redis for a queue: if you want to ensure that, in the event of a catastrophic failure, jobs are not lost, you’ll need to implement a little more logic; from the RPOPLPUSH documentation:

    Pattern: Reliable queue

    Redis is often used as a messaging server to implement processing of background jobs or other kinds of messaging
    tasks. A simple form of queue is often obtained pushing values into a
    list in the producer side, and waiting for this values in the consumer
    side using RPOP (using polling), or BRPOP if the client is better
    served by a blocking operation.

    However in this context the obtained
    queue is not reliable as messages can be lost, for example in the case
    there is a network problem or if the consumer crashes just after the
    message is received but it is still to process.

    RPOPLPUSH (or
    BRPOPLPUSH for the blocking variant) offers a way to avoid this
    problem: the consumer fetches the message and at the same time pushes
    it into a processing list. It will use the LREM command in order to
    remove the message from the processing list once the message has been
    processed.

    An additional client may monitor the processing list for
    items that remain there for too much time, and will push those timed
    out items into the queue again if needed.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have ItemRenderers that need to listen for events. When they hear an event
I copied the following script and run it to have it listen on port
I have a page with multiple YouTube embedded players that I need to listen
How do I have a widget listen for clicks on other widgets but not
using ejb 3.1, servlet 3.0 (glassfish server v3) Scenario: I have MDB that listen
I have a BroadcastReceiver that listen for the SMS_SENT Intent after an SMS has
Lets save I have a couple of divs with anchor tags in them that
I have this project listen below and im not sure where to start maybe
Currently, I have a JList listen to list selection listener. private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt)
We have trac site set up to listen on /tracproj/, this swiftly passes control

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.