RE: [PHP] Windows NT Server, FORK, SOCKETS, and seperate processe s
| From: | David Buerer | Date: | Mon, 22 Jul 2002 22:35:00 +0000 |
| Subject: | RE: [PHP] Windows NT Server, FORK, SOCKETS, and seperate processe s | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-108948@lists.php.net to get a copy of this message | ||
I thought about this and it's actually not such a bad idea. I struggle with
it a little though because it seems like kind of a brute force method. I'll
end up with an awful lot of PHP.EXE processes going at the same time.
Although it would get the job done, I'm not certain that it's the right
solution. I was hoping for something a little more elegant. I really like
the pcntl_xxx() functions, but they are only available on UNIX platforms.
And no, UNIX is not an option for this client...they are on Windows and
that's where they're going to stay.
Anyone else have any other ideas?
-----Original Message-----
From: Evan Nemerson [mailto:evan@coeus-group.com]
Sent: Monday, July 22, 2002 3:47 PM
To: David Buerer; php-general@lists.php.net
Subject: Re: [PHP] Windows NT Server, FORK, SOCKETS, and seperate processe s
Either exec(), system(), or one of the functions like them (check the
manual)
doesn't wait for anything to return- it just begins executing a new process
and sends it on its way. Perhaps you could use this and just make whatever
you want to do a seperate file?
On Monday 22 July 2002 15:09 pm, David Buerer wrote:
> Yes, that's exactly what I want to do. But HOW do I do it?
>
> i.e. I'm sitting in my accept connectinos loop in the chat daemon
>
> While(true)
> {
> //waitforenwconnection
> $new_connection_id=socket_accept();
>
> //got a new connection, go process it
> go_do_this_in_a_new_thread($new_connection_id);
> }
>
> What do I put in place of go_do_this_in_a_new_thread()????
>
> -----Original Message-----
> From: Demitrious S. Kelly [mailto:apokalyptik@apokalyptik.com]
> Sent: Monday, July 22, 2002 3:01 PM
> To: 'David Buerer'; php-general@lists.php.net
> Subject: RE: [PHP] Windows NT Server, FORK, SOCKETS, and seperate
> processes
>
>
> Yes. Write a daemon which listens on a socket and manages the
> communications it gets from the satellite scripts and works the
> database for them...
>
> The scripts send off data, and process replies. They don't do the
> heavy work...
>
> -----Original Message-----
> From: David Buerer [mailto:david@pladesigns.com]
> Sent: Monday, July 22, 2002 2:30 PM
> To: 'php-general@lists.php.net'
> Subject: RE: [PHP] Windows NT Server, FORK, SOCKETS, and seperate
> processes
>
> How to I inovoke a new Thread from the middle of a PHP script?
>
> -----Original Message-----
> From: Paul Maine [mailto:pmaine@austin.rr.com]
> Sent: Monday, July 22, 2002 10:08 AM
> To: David Buerer; php-general@lists.php.net
> Subject: RE: [PHP] Windows NT Server, FORK, SOCKETS, and seperate
> processes
>
>
> You can use threads with NT to accomplish what you are asking.
>
> -----Original Message-----
> From: David Buerer [mailto:david@pladesigns.com]
> Sent: Monday, July 22, 2002 11:29 AM
> To: 'php-general@lists.php.net'
> Subject: [PHP] Windows NT Server, FORK, SOCKETS, and seperate
> processes
>
>
> I've got effectivly a glorified chat server which upon the arrival of
> a message thorugh a socket connection goes off and runs a bunch of
> database processed. My questions is this: How can I seperate the
> database processing into a seperate processor process? I really don't
> want the chat server to have to wait until after the database
> processing is done to go intercept and process another request--this
> just doesn't seem right. I want the chat server process to be able to
> deal with getting and receiving messages, and another process to deal
> with the database processing. That way if one of the processes get's
> slow, the other isn't affected. Something like the fork command would
> work really well, but fork doesn't exist in NT.
>
> Anyone have any ideas?
>
> I'm running Windows NT4.0 sp6a
> Apache Server 1.3.xx
> MySQL
> and of course, PHP 4.2.1
--
Man discovers truth by reason only, not by faith.
Leo Nikolaevich Tolstoy