Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
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 (Acolyte) 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 taking refuge in the Monastery: (3)
As of 2014-10-25 03:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (141 votes), past polls