[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl-WebCGI] SMS Perl CGI



At 10:08 -0500 on 11-04-2000, David Steffen wrote:

Dear David,

>>If I name it a CGI, it completely takes over my server, and my
>>server stops responding to web-requests, until the script
>>gives up and releases the server. This takes up to 2 minutes.
>
>This doesn't happen with all web servers.  The latest version of
>Quid Pro Quo will serve other requests while waiting for the CGI to
>execute.
>
>As it happens, I am *EXTREMELY* interested in finding out under what
>circumstances what you describe happens.  I would be most grateful
>if you could tell me:
>
>Model of Macintosh:
>Operating System Version:
>(e.g. OS7.5, OS8, OS9,...)
>Server Software, Brand and Version:
>(e.g. MacHTTP 1.0, Quid Pro Quo 3.1)
>(The third is the most important, I think.)

Apple PowerMac G4/400/PCI with 198 MB RAM
running MacOS 8.6 with WebSTAR 4.2 with
Lasso & FileMaker Pro.

>>Why is ACGI so bad?
>
>Let me begin by saying that MacPerl has serious deficiencies as a
>scripting language for production websites.  The main one is that it
>can only do one thing at a time.  If you are running one MacPerl CGI
>(.cgi or .acgi) you cannot run a second until it completes, and
>worse yet, you must not even try - doing so will at least drop the
>hit and at worst hang the server.

Been there, seen that! I learnt this the hard way! :-/


>Next let me note that a hit to a MacPerl CGI involves three programs:
>1) The Web server (e.g. Quid Pro Quo).
>2) A small, standalone application (the CGI).
>3) MacPerl.
>
>Use of the .acgi extension promises the Web server that the CGI can
>accept a second hit while the first is still running.  Thus, the Web
>server will send a second hit to your CGI while the first is
>running, which MacPerl cannot accept.  If you use the .cgi
>extension, the Web server will queue the second hit and only
>transmit it after receiving the results of the first hit.
>
>Even if you use the .cgi extension, you can get into trouble if you
>have more than one MacPerl CGI on your server; there is no way for
>the Web server to know that it must not send a hit to CGI2 while
>CGI1 is running.  Thus, the two rules for successfully using MacPerl
>on a public web server are:
>
>1) Always use the .cgi extension and always use Web server software
>that can service other requests while the .cgi is running.
>
>2) Never have more than one MacPerl CGI on your server.  (The way to
>accomplish that is to use one CGI as a dispatcher for multiple Perl
>scripts.)

If MacPerl is limited in this way, what other options do I have to accomplish
this kind of communication and datatransfer to a Telnet server? Any ideas?
Looks like MacPerl is not really the ideal solution for this high performance
website...

Thanks!

J.

==== Want to unsubscribe from this list?
==== Send mail with body "unsubscribe" to macperl-webcgi-request@macperl.org