On Thu, Mar 06, 2003 at 11:00:28AM -0600, [EMAIL PROTECTED] wrote:
> Didn't see it in the docs, if it is please point me to it and I will
> look harder next time :-)...
> 
> Is there a known and predictable limit to the number of sessions
> that can be created/run?  Obviously there is the physical memory
> boundaries for the hardware, and there are limits on Perl's scalar
> size, etc. depending on architecture, but other than similar such
> reasons, is there anything specific in the POE kernel/session
> preventing it from having an arbitrary number of sessions?

No, POE will let you try to spawn as many sessions as you want.  The
operating system will eventually get in your way with petty concerns
like memory limits, open file limits, or process limits.

> I am not terribly concerned, but am just curious about the system in
> general as I think it rocks and I am enjoying developing a new app
> in it.  The app watches directories and queues files to be processed
> in multiple stages (each a queue), etc. As our app scales the number
> of directories being watched (each as a session) and the threshold
> of the process queues (number of simultaneous processes allowed for
> each queue, each a session) can be set by the app admin, so I need
> to know if I am going to hit a spill over point and would need to
> restrict the threshold on the queues, etc.

If your ulimit for simultaneous processes is high (or unlimited), you
may want to keep them within reasonable limits yourself.  POE will not
hesitate to "forkbomb" your machine if you ask it to.

If you'd like to experiment with POE's session limitations, take a
look at the samples/forkbomb.perl that comes in POE's tarball.  It's
not a real fork bomb because it doesn't call fork().  Instead it
spawns sessions that spawn other sessions.  To see how far you can go,
increase $max_sessions or remove the checks for it entirely.

-- Rocco Caputo - [EMAIL PROTECTED] - http://poe.perl.org/

Reply via email to