Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Best method for maintaining a session ID across multiple threads

by BrowserUk (Pope)
on Jul 10, 2013 at 18:36 UTC ( #1043530=note: print w/ replies, xml ) Need Help??


in reply to Best method for maintaining a session ID across multiple threads

The problem I have with solution 1 is that I don't know how to get 2 threads to talk to each other.

If the "threads" in question are these threads, then have you not encountered threads::shared?

If not, you'll need to specify/clarify your meaning of "threads".


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re: Best method for maintaining a session ID across multiple threads
Re^2: Best method for maintaining a session ID across multiple threads
by markdibley (Sexton) on Jul 11, 2013 at 08:38 UTC

    Hi, thanks for the reply

    I realised last night that I had missed out a couple of key factors to my problem. The first is that each "thread" is actually a queued job on a Gridengine cluster so each "thread" isn't forked from the program that does the logging in and also the cluster is across multiple servers which have a shared disk space and network but obviously don't have access to each others' processes.

    I guess I am using the term thread incorrectly

    So after more thought about it I am going to investigate writing something that can serve the sessionID to "processes" via a port. And when it comes to renewing the sessionID to perhaps look for, or enforce a 10 second window to ensure the last "customer" has time to finish it's connection.

    Unless, of course, there is a better way to do it.

      I guess I am using the term thread incorrectly

      The generic term for a single instance in a cluster is 'node'.

      So after more thought about it I am going to investigate writing something that can serve the sessionID to "processes" via a port.

      Clustering software always has some form of message passing API that allows the processes to communicate.

      A quick google suggests that GridEngine supports OpenMPI. You shouldn't need to be inventing a solution for this, just read the docs.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

        I completely agree - I never invent a solution when there is an alternative, which is why I was asking for advice about existing solutions to the problem of maintaining a session ID. But OpenMPI appears to be an overly engineered solution for my requirements. If I had a week to learn and implement I might consider it, but thank you very much for your help and your suggestions.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1043530]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (10)
As of 2015-07-01 20:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (19 votes), past polls