Re: FastCGI multithread programming problems

Artyom <artyomtnk-/[email protected]>
Newsgroups gmane.comp.web.fastcgi.devel,gmane.spam.detected
Message-ID <[email protected]>
Hello,

This is correct in case of *CGI* or FastCGI process
that is *backward* compartible with CGI.

This is defenatly not correct in case of 
general FastCGI process.

See FCGX API and multithreaded examples of code.

Artyom

--- "haigui.chen" <[email protected]> wrote:

> Dear Artyom,
> Thanks for your answer, but someone tell me that one
> cgi process just handle
> one request at the same time, use multi-threads to
> perform the same request
> handling job is useless, how do you think about
> this?
> 
> Thanks and BRS
> Harvy
> 
> -----Original Message-----
> From:
>
fastcgi-developers-bounces+harvy.chen=gmail.com-VYFNfGabXYtBDgjK7y7TUQ@public.gmane.org
>
[mailto:fastcgi-developers-bounces+harvy.chen=gmail.com-VYFNfGabXYtBDgjK7y7TUQ@public.gmane.org]
> On
> Behalf Of Artyom
> Sent: 2008Äê1ÔÂ23ÈÕ 3:12
> To: [email protected]
> Subject: Re: [FASTCGI] FastCGI multithread
> programming problems
> 
> Hello,
> 
> First of all:
> 
> 1. Yes you can use many threads
>    There are several examples for this technique
>    in FastCGI sources.
>    
>    The main idea: you listen on socket and wait for
>    the request. After you "accept" it you get
>    ann independent socket you work with it - so
>    you have an independent thread to deal with it.
> 
> 2. There examples in Fcgi sources proposes
>    usage of mutex with accept. I think this
>    is not the best way to do this.
> 
> Nowdays I work on C++ Web Development Framework
> that uses FastCGI protocol as a base.
> I implemented there a thread pool technique
> when the major thread accepts requests and passes
> them to worker threads.
> 
> You can find and example of such usage
> at cppcms.sourceforge.net
> Look at
>
http://cppcms.svn.sourceforge.net/viewvc/cppcms/framework/trunk/
> 
> Files thread_pool/worker_thread
> 
> Several notes:
> 1. You should not work with millons of requests
>    in same time - server does the job for you.
>    You need only create a page
> 2. Asynchronous technique is quite problematic
>    for web development because of 3rd pary API
>    that do not support it.
> 
> NOTE: I'm not big specialist in FastCGI however
> I use it and implemented a framework that is
> still on early development stages.
> I use thread pool technique and work with
> lighttpd web server. 
> 
> Artyom
> 
> http://cppcms.sourceforge.net/
> C++ Web Development Framework
> 
> 
> --- Harvy Chen <[email protected]> wrote:
> 
> > Dears,
> > I'm developping a project which has a
> communication
> > channel(based on HTTP
> > protocol) to recevie request from clients(Maybe
> > million clients), the
> > platform is under linux,
> > now i'm trying use FastCGI to provide a high
> > performance process capacity, I
> > wonder know if the fastcgi can support
> > multi-threads, i means in one cgi
> > process,
> > i create a thread pool to handle the request, But
> i
> > looked up in the
> > internet, found that just one rquest will
> transport
> > to a cgi process to
> > handle at the same time,
> > means the thread pool will be useless. Maybe i'm
> > wrong, will anybody can
> > give me correct answer?
> > 
> > If the fastCGI can support aync processing, it's
> > perfect to me.
> > > ___________________________________
> > fastcgi-developers mailing list
> > http://fastcgi.com/fastcgi-developers/
> > 
> 
> 
> Delete Reply Forward Spam Move...
> Previous | Next | Back to Messages 
> ___________________________________
> fastcgi-developers mailing list
> http://fastcgi.com/fastcgi-developers/
> 
> 

___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.