Rebol + FastCGI
[1/23] from: sqlab:gmx at: 12-Apr-2001 9:43
Hello
Has anyone experience with Rebol as a FastCGI application?
[2/23] from: dockimbel:free at: 12-Apr-2001 18:08
> Hello
>
> Has anyone experience with Rebol as a FastCGI application?
I'm working on a FastCGI scheme for Rebol.
> --
> GMX - Die Kommunikationsplattform im Internet.
> http://www.gmx.net
Regards,
DocKimbel.
[3/23] from: sqlab:gmx at: 14-Apr-2001 11:03
Hi Nenad
Maybe there is no need for me doing it by mself, if you release it.)
Just a few questions.
Do you use local sockets or remote tcp/ip sockets?
Do you have a timeframe when you will finish it?
regards
AR
[4/23] from: dockimbel:free at: 14-Apr-2001 19:11
[sqlab--gmx--net] wrote:
> Hi Nenad
>
> Maybe there is no need for me doing it by mself, if you release it.)
>
> Just a few questions.
>
> Do you use local sockets or remote tcp/ip sockets?
Remote TCP/IP.
> Do you have a timeframe when you will finish it?
Don't expect to see anything before a month.
HTH,
DocKimbel.
[5/23] from: petr:krenzelok:trz:cz at: 14-Apr-2001 23:09
----- Original Message -----
From: "Nenad Rakocevic" <[dockimbel--free--fr]>
To: <[rebol-list--rebol--com]>
Sent: Saturday, April 14, 2001 7:11 PM
Subject: [REBOL] Re: Rebol + FastCGI
> [sqlab--gmx--net] wrote:
> >
<<quoted lines omitted: 8>>
> > Do you have a timeframe when you will finish it?
> Don't expect to see anything before a month.
OK folks ... I read something about FastCGI some year or more ago, but
doesn't it require special native platform support???
(http://www.fastcgi.com ) IIRC fastCGI was supposed to be even faster than
Apache language modules support, but I am not sure :-)
Nenad - what about MsSQL or PostGressSQL?
Thanks,
-pekr-
[6/23] from: dockimbel:free at: 15-Apr-2001 14:58
Hi Petr,
Petr Krenzelok wrote:
[...]
> OK folks ... I read something about FastCGI some year or more ago, but
> doesn't it require special native platform support???
Yes, you need a native module for your webserver/OS.
If you use Apache or Zeus, you have to install mod_fastcgi. For IIS and NSS,
you have to buy the module for your platform.(!)
The module acts as a gateway between the webserver and your application (which
can be written in ANY programming language). The only requirement is that your
application need to know the FastCGI protocol.(It's an easy protocol)
> (http://www.fastcgi.com ) IIRC fastCGI was supposed to be even faster than
> Apache language modules support, but I am not sure :-)
Basically, FastCGI is about 10% slower than the module approach, mainly due to
the TCP/IP connection between the HTTP server and the application. But it's
much more flexible, and scale much better. If you have a world-class web site
with 1000+ request/sec, a FastCGI architecture would be a better choice than
apache modules, because you can easily distribute the load among several
servers.
And last but not least, you have a PERMANENT rebol application processing
your requests and allowing you to keep each user session and context in
memory. (this isn't possible with /Apache, because it recycles all his memory
after each request!). There's a lot of advantages using FastCGI rather than
modules.
> Nenad - what about MsSQL or PostGressSQL?
AFAIK, MsSQL should be supported by next release of /Command.(v2.0 ?)
PostgreSQL is not in my top todo list. It shouldn't be difficult to make
a native driver for Rebol, but it may need the encryption component of /Pro.
Best regards,
DocKimbel.
[7/23] from: petr:krenzelok:trz:cz at: 15-Apr-2001 19:00
----- Original Message -----
From: "Nenad Rakocevic" <[dockimbel--free--fr]>
To: <[rebol-list--rebol--com]>
Sent: Sunday, April 15, 2001 2:58 PM
Subject: [REBOL] Re: Rebol + FastCGI
> Hi Petr,
> Petr Krenzelok wrote:
<<quoted lines omitted: 3>>
> Yes, you need a native module for your webserver/OS.
> If you use Apache or Zeus, you have to install mod_fastcgi. For IIS and
NSS,
> you have to buy the module for your platform.(!)
>
> The module acts as a gateway between the webserver and your application
(which
> can be written in ANY programming language). The only requirement is that
your
> application need to know the FastCGI protocol.(It's an easy protocol)
>
> > (http://www.fastcgi.com ) IIRC fastCGI was supposed to be even faster
than
> > Apache language modules support, but I am not sure :-)
>
> Basically, FastCGI is about 10% slower than the module approach, mainly
due to
> the TCP/IP connection between the HTTP server and the application. But
it's
> much more flexible, and scale much better. If you have a world-class web
site
> with 1000+ request/sec, a FastCGI architecture would be a better choice
than
> apache modules, because you can easily distribute the load among several
> servers.
>
> And last but not least, you have a PERMANENT rebol application processing
> your requests and allowing you to keep each user session and context in
> memory. (this isn't possible with /Apache, because it recycles all his
memory
> after each request!). There's a lot of advantages using FastCGI rather
than
> modules.
Ah, that's nice - go for it :-)
> > Nenad - what about MsSQL or PostGressSQL?
>
> AFAIK, MsSQL should be supported by next release of /Command.(v2.0 ?)
> PostgreSQL is not in my top todo list. It shouldn't be difficult to make
> a native driver for Rebol, but it may need the encryption component of
/Pro.
Aha, I just meant kind of protocol you created for mySQL. PostGress seems to
be popular in Linux land, as it supports transactions and many ppl say it
can be nearly compared to Oracle, of course much cheaper. The same goes for
MSSQL - /Command costs some money, so I asked for scheme solution
(equivalent to your mySQL solution)
Anyway - thanks for the answer ...
-pekr-
[8/23] from: rondon:andrade:uol at: 29-Jun-2001 0:07
Hi Rebolers!!
I've installed Rebol Command implementing the FastCGI in CGI Compatibility
Mode. Is this the best way to get high performance, or I must implement
FastCGI Stand-Alone Mode? What mode are you using? Do I have to install de
Session Afinity also to get more performance ?
I just want to have the finest tunning for my server. Any clues ?
Thanks in advance.
Rondon
[9/23] from: petr:krenzelok:trz:cz at: 29-Jun-2001 10:06
Hi,
one more thing - I struggled loading mod_fastcgi.dll into apache, to find one
hour later Netscape doesn't correctly download the file. So I used rebol and
read/binary - the correct size of .dll is: 163840
However - even this library is somehow not loadably by load/library. I am just
curious why rebol can't load all types of .dll libraries ....
What I am trying to find out is - why rebolcmd.exe process is left, and
doesn't remain to be loaded (persistent). I use following httpd.conf info:
LoadModule fastcgi_module modules/mod_fastcgi.dll ; at the end of module
list
ScriptAlias /fcgi-bin/ "c:/local-www/fcgi-bin/"
<Directory "c:/local-www/fcgi-bin">
Options ExecCGI
</Directory>
<Location "c:/local-www/fcgi-bin">
SetHandler fastcgi-script
</Location>
and the solution is to add one another line:
FastCGIServer "c:/pekr/rebol/command/rebolcmd.exe" -processes 5
Heh, great! During the weekend I will try to set-up external Rebol processes
server, but without session afinity, it's a little bit difficult to handle
requests ...
-pekr-
Rondon Andrade wrote:
[10/23] from: rondon:andrade:uol at: 29-Jun-2001 7:24
Hi,
I just follow the instructions at http://www.rebol.com/docs/fastcgi.html.
----- Original Message -----
From: "Petr Krenzelok" <[Petr--Krenzelok--trz--cz]>
To: <[rebol-list--rebol--com]>
Sent: Friday, June 29, 2001 5:06 AM
Subject: [REBOL] Re: About FastCGI
> Hi,
>
> one more thing - I struggled loading mod_fastcgi.dll into apache, to find
one
> hour later Netscape doesn't correctly download the file. So I used rebol
and
> read/binary - the correct size of .dll is: 163840
>
> However - even this library is somehow not loadably by load/library. I am
just
> curious why rebol can't load all types of .dll libraries ....
>
> What I am trying to find out is - why rebolcmd.exe process is left, and
> doesn't remain to be loaded (persistent). I use following httpd.conf info:
>
> LoadModule fastcgi_module modules/mod_fastcgi.dll ; at the end of
module
> list
I think it's ok. I did the same. ok.
> ScriptAlias /fcgi-bin/ "c:/local-www/fcgi-bin/"
> <Directory "c:/local-www/fcgi-bin">
<<quoted lines omitted: 3>>
> SetHandler fastcgi-script
> </Location>
I used AddHandler fastcgi-script .fcgi
> and the solution is to add one another line:
>
> FastCGIServer "c:/pekr/rebol/command/rebolcmd.exe" -processes 5
I think here you are mixing the ways to use FastCGI., you must use this
directive for FastCGI Stand-Alone Mode.
My server is working good. for each cgi program. I just don't if it's the
fine-tunning. If you setup FastCGI Stand-Alone Mode, give a feedback. ok.
Best Regards!
Rondon
[11/23] from: petr:krenzelok:trz:cz at: 29-Jun-2001 12:23
Rondon Andrade wrote:
> Hi,
>
> I just follow the instructions at http://www.rebol.com/docs/fastcgi.html.
somehow uncomplete ;-)
> > ScriptAlias /fcgi-bin/ "c:/local-www/fcgi-bin/"
> >
<<quoted lines omitted: 6>>
> > </Location>
> I used AddHandler fastcgi-script .fcgi
OK, it is possible it will work ...
> > and the solution is to add one another line:
> >
> > FastCGIServer "c:/pekr/rebol/command/rebolcmd.exe" -processes 5
>
> I think here you are mixing the ways to use FastCGI., you must use this
> directive for FastCGI Stand-Alone Mode.
Yes, and it is the only way you can use CGI compatibility mode. Untill you will
add above line, you are not running in FastCGI mode imo and you don't gain any
speed-up here. Just open your W2K task manager (ctrl + alt + del - once :-), and
try to find rebolcmd processes. If I will remove above line - you will NOT see
any rebolcmd processes there!
Once I do so, however, I can see 5 rebolcmd processes running in very short time
Apache is started. They are never left, till you shut down your server. And that
is what is stand-alone mode exactly for ...
> My server is working good. for each cgi program.
in CGI mode imo ;-)
> I just don't if it's the
> fine-tunning. If you setup FastCGI Stand-Alone Mode, give a feedback. ok.
My above solution means I am running in Stand-Alone Mode .... If you don't find
rebolcmd processes listed in process manager, you are not using any fastCGI mode
...
I just hope I am not wrong here :-)
-pekr-
[12/23] from: petr:krenzelok:trz:cz at: 29-Jun-2001 6:12
Hi!
Rondon Andrade wrote:
> Hi Rebolers!!
>
> I've installed Rebol Command implementing the FastCGI in CGI Compatibility
> Mode. Is this the best way to get high performance, or I must implement
> FastCGI Stand-Alone Mode? What mode are you using? Do I have to install de
> Session Afinity also to get more performance ?
>
> I just want to have the finest tunning for my server. Any clues ?
So, I downloaded Apache for Windows + mySQL just yesterday, and so far I am
able to run only CGI. FastCGI for windows is some .dll (other modules are
surprisingly .so files even under Windows).
The situation repeats as always - you will not find what you need in your
docs. I don't know how to properly specify load module directive. The strange
thing is, my Apache CAN run .fcgi files as CGI, while .fcgi suffix can't be
found in any of config files. I thought that by default it runs only .cgi.
As for performance - it will be probably better to run it in standalone mode,
but I talked to Maarten and he told me he runs it in Server mode only, and it
works great.
The piggy thing about all the fastcgi concept is, that web server sends your
requests to whatever instance it wants. There is session afinity patch
available, but I don't know if it is kept being up-to-date. However, I joined
fastcgi ml, and was told that session afinity is going to become part of
fastcgi itself. It is somehow on priority list, but depends upon author, if he
finds enough of free time soon.
I too, would like to achieve some fine-tuned setup. The other thing about
Apache under Windows is - it uses threads, but only synchronous connections.
They will not change it, so Windows users will be better with Apache 2.0, but
it is still just beta.
I am somehow confused currently and don't know if I should use AddHandler,
SetHandler directive, where do I specify FastCGI server or FastCGIExternal
server, how do I load module itself ... on the other hand, I am playing with
it just not more than one hour.
If there is somoene with fastcgi + /Command experience, please share with us
:-)
Thanks,
-pekr-
[13/23] from: sqlab:gmx at: 2-Jul-2001 14:53
Hi
It seems, something went wrong with my former message, so once again.
As there were a few configurations described for fastcgi with Apache,
I will add my working configuration (Linux and Windows).
Windows:
FastCgiExternalServer "D:/Apache/mydocs/fastcgi-bin" -host localhost:15001
<Location /fastcgi-bin>
SetHandler fastcgi-script
</Location>
ExternalAppClass /fastcgi-bin -host localhost:15001
Unix:
Just replace the path after FastCgiExternalServer with your complete path
without hyphens to the non-existing location.
And don't forget to use getmodes this way;
cgi-data: get-modes fastcgi-conn 'cgi ; in your Rebol script.
AR
[14/23] from: petr:krenzelok:trz:cz at: 2-Jul-2001 15:13
Hi,
thanks for the answer. After playing with FastCGI concept thru the weekend and
nearly going mad I finally have something working, but Windoze and Linux
behave differently, although I use the same directives ...
[sqlab--gmx--net] wrote:
> Hi
>
> It seems, something went wrong with my former message, so once again.
>
> As there were a few configurations described for fastcgi with Apache,
> I will add my working configuration (Linux and Windows).
>
> Windows:
> FastCgiExternalServer "D:/Apache/mydocs/fastcgi-bin" -host localhost:15001
So, I haven't tried this mode yet. FastCGI works in three modes - static (only
when FastCGIServer directive is used), dynamic (default) and external.
In default (dynamic) mode, your webserver starts/kills your apps itself. It
seems to me, that for each url (script), it starts one instance of rebolcmd
and at least one instance is running in the background.
I am curious how does it communicate, if no host is specified. It has to use
unix sockets or something like that, because I am not listening on any port,
or am I?
One question for you, as you seem to succesfully use External mode - do you
run listening loop as described in fastcgi command docs in the beginning of
each your script. Or you just start your server with such script?
One thing I am not able to resolve is - where to put license.key file? Rebol
seems to look for license.key file in the launch dir = dir of your script ...
How do I solve this one? :-)
> <Location /fastcgi-bin>
> SetHandler fastcgi-script
> </Location>
> ExternalAppClass /fastcgi-bin -host localhost:15001
>
Uhmm, never seen this one :-) Is it really required?
Thanks,
-pekr-
[15/23] from: allenk:powerup:au at: 3-Jul-2001 0:03
Could you submit a complete test example please? I am yet to be able to get
it working on Windows. I keep getting "aborted: read failed" errors.
I really wish windows worked in compatibility mode, how much simpler it
seems.
Cheers,
Allen K
[16/23] from: petr:krenzelok:trz:cz at: 2-Jul-2001 17:00
Allen Kamp wrote:
> Could you submit a complete test example please? I am yet to be able to get
> it working on Windows. I keep getting "aborted: read failed" errors.
>
> I really wish windows worked in compatibility mode, how much simpler it
> seems.
>
Yes, you have to wait a little bit, while I am downloading our IS databases thru
parallel cabel to my notebook ... the typing is so o o s l oooow :-)
Anyway - I would like to see the most fine-tuned set-up. And it seems to me it
would be something like FastCGIExternalServer set-up, multiplexed tcp/ip
connection, ability of central rebol app to load-balance requests (by launching
another instances of rebol), something like internetworked rugby servers and
clients :-) We can't afford to wait few secs till ODBC 'insert request stops
blocking the request. The e-business test solution which I am after is -
Apache <--> Rebolcmd (fastcgi dynamic, not external) <-firewall-> Rebolcmd
<-directory or database spooler-> <--> AppServer <-database->
OK, so copying finished, let's get back to Apache setup ... First, however - you
are not alone having problems. The same Apache config as under Linux and it
works in differently:
LoadModule fastcgi_module modules/mod_fastcgi.dll
if you use ClearModules directive, you have to define AddModule .....
mod_fastcgi.c or something like that I was told ... (not the case with my setup)
<Location "c:/local-www/cgi-bin">
AddHandler fastcgi-script .fcgi
</Location>
... and - that's all. I can see however, that none of my rebol.cmd instances
(servers) remain to be persistent, while on Linux, the do. I also experimented
with FastCgiIpcDir \\.\pipe\fastcgi directive, but no success. I am not sure, if
it even works in dynamic mode, as docs say, that the directive must preceede
FastCGIServer (static, I don't want to use static setup), or
FastCgiExternalServer ... if you are experimenting with pipes, be carefull and
choose directory, where you have user permissions to write, and also be carefull
of using default temp directory, as it can be periodically deleted by some other
task, and it will break your fastcgi communication ....
Let me know if you find anything new regarding FastCgi usage ...
Thanks a lot ...
-pekr-
[17/23] from: sqlab:gmx at: 3-Jul-2001 9:02
Hi,
> thanks for the answer. After playing with FastCGI concept thru the weekend
> and
> nearly going mad I finally have something working, but Windoze and Linux
> behave differently, although I use the same directives ...
>
Mine behave the same way with the same directives.)
> [sqlab--gmx--net] wrote:
> >
<<quoted lines omitted: 14>>
> port,
> or am I?
If I understand the documentation, it depends of your configuration if you
use TCP ports or
Unix sockets / Windows pipes
> One question for you, as you seem to succesfully use External mode - do
> you
> run listening loop as described in fastcgi command docs in the beginning
> of
> each your script. Or you just start your server with such script?
>
My script loops
> One thing I am not able to resolve is - where to put license.key file?
> Rebol
> seems to look for license.key file in the launch dir = dir of your script
> ...
> How do I solve this one? :-)
>
Apache/Fastcgi expects the external application already running.
So you have to start it in before and are free to choose whatever directory
or options you like,
One more;
I thought the new applications inherit their environment from Apache, so you
should be able to set your REBOL_HOME either at startup of Apache or in the
configuration.
> >
> > <Location /fastcgi-bin>
<<quoted lines omitted: 3>>
> >
> Uhmm, never seen this one :-) Is it really required?
Without I get always Internal error, server misconfiguration
> Thanks,
> -pekr-
You are welcome
> Unix:
> > Just replace the path after FastCgiExternalServer with your complete
<<quoted lines omitted: 4>>
> > cgi-data: get-modes fastcgi-conn 'cgi ; in your Rebol script.
> >
AR
[18/23] from: petr:krenzelok:trz:cz at: 3-Jul-2001 9:35
[sqlab--gmx--net] wrote:
> Hi,
> >
<<quoted lines omitted: 4>>
> >
> Mine behave the same way with the same directives.)
OK, so you seem to use ExternalServer configuration - how many instances of
Rebol do you run? Have you tried dynamic (default) config, where rebol tasks are
started by Apache itself?
Thanks,
-pekr-
[19/23] from: sqlab:gmx at: 3-Jul-2001 12:56
> [sqlab--gmx--net] wrote:
> > Mine behave the same way with the same directives.)
<<quoted lines omitted: 4>>
> tasks are
> started by Apache itself?
Just one, it was more a proof of concepts than a real project until now.
I tried dynamic applications too, but it was not very satisfying with
Windows.
And I guess to remember, that it was written somewhere, that it will not
work with
Windows.
I prefer cross platform compatible solutions, as I worked long enough with
proprietary systems.
What lead me to rebol was that ability too.)
AR
[20/23] from: petr:krenzelok:trz:cz at: 3-Jul-2001 16:01
[sqlab--gmx--net] wrote:
> >
> > [sqlab--gmx--net] wrote:
<<quoted lines omitted: 17>>
> proprietary systems.
> What lead me to rebol was that ability too.)
OK, I will probably try it too. Could you please describe me here (or in
private email), what is your exact config? I mean:
- what is your httpd.conf config
- what is your fast cgi script header
- how do you start your rebol sessions. Do you start them with some script as
parameter, containing listen loop?
Thanks,
-pekr-
[21/23] from: holger:rebol at: 3-Jul-2001 10:25
On Fri, Jun 29, 2001 at 12:07:45AM -0300, Rondon Andrade wrote:
> Hi Rebolers!!
>
> I've installed Rebol Command implementing the FastCGI in CGI Compatibility
> Mode. Is this the best way to get high performance, or I must implement
> FastCGI Stand-Alone Mode? What mode are you using? Do I have to install de
> Session Afinity also to get more performance ?
It depends. Usually CGI compatibility mode is fine. The only drawback is that
requests are serialized within each instance of REBOL. For most scripts this
is actually faster than multiplexing over ports (FastCGI native mode), in
particular if your script never waits (e.g. does not access databases via
ODBC etc.) and the amount of data it processes is rather small. If each
request takes considerable time to process (either because of backend
database accesses or because of large amounts of data being sent/received)
then consider using FastCGI native mode instead.
--
Holger Kruse
[holger--rebol--com]
[22/23] from: petr:krenzelok:trz:cz at: 3-Jul-2001 20:36
----- Original Message -----
From: "Holger Kruse" <[holger--rebol--com]>
To: <[rebol-list--rebol--com]>
Sent: Tuesday, July 03, 2001 7:25 PM
Subject: [REBOL] Re: About FastCGI
> On Fri, Jun 29, 2001 at 12:07:45AM -0300, Rondon Andrade wrote:
> > Hi Rebolers!!
> >
> > I've installed Rebol Command implementing the FastCGI in CGI
Compatibility
> > Mode. Is this the best way to get high performance, or I must implement
> > FastCGI Stand-Alone Mode? What mode are you using? Do I have to install
de
> > Session Afinity also to get more performance ?
>
> It depends. Usually CGI compatibility mode is fine. The only drawback is
that
> requests are serialized within each instance of REBOL. For most scripts
this
> is actually faster than multiplexing over ports (FastCGI native mode),
uhm, now I am confused - FastCGI native mode (described as "dynamic" mode in
fastcgi dos) uses multiplexed connection? The docs distinguish three
states -
- static mode - only when FastCGIServer directive is used - you can specify
amount of instances Apache will preload once it starts ...
- dynamic mode - you don't need to specify anything - it's default mode
(probably CGI compatible too) - Apache loads/kills instances of fastcgi
servers (rebols) according to FastCgiConfig directive
- external mode - FastCgiExternal mode - Apache doesn't care of your
servers, it assumes they are running ...
Am I correct or wrong? In what way does Apache (fastcgi process manager)
communicate with Rebol, once in default mode? I saw some strange code in my
error log - I posted it here few days ago and it seemed to me Rebol is
listening even in default mode? "open fastcgi://" was part of error
message, - but no listen port specified ... it would result in error, once I
would try to use such piece of code in console :-)
->> ble: open fastcgi://
** Access Error: Invalid port spec: none
** Near: ble: open fastcgi://
Could you explain a little bit of Rebol internals here, please :-)
> in
> particular if your script never waits (e.g. does not access databases via
> ODBC etc.)
Why isn't it possible to have non-blocking 'insert with ODBC?
> and the amount of data it processes is rather small. If each
> request takes considerable time to process (either because of backend
> database accesses or because of large amounts of data being sent/received)
> then consider using FastCGI native mode instead.
Hmm, as for scenario you described, it is imo:
1) not too good to access live system anyway :-) We will have some 1600 SAP
R3 users, and noone can tell us, if hw IBM specified for us, will be fast
enough :-)
2) better to spool rebol requests and let some app server to handle db
requests natively, using stored procedures e.g.
3) we are still investigating some kind of aggregate databases, being
on-line updated from XY transactions of our huge IS, just to keep our e-biz
system from possible ERP slow responses, shutdowns etc ...
Well, just theoretising :-)
Cheers,
-pekr-
[23/23] from: holger:rebol at: 3-Jul-2001 13:53
On Tue, Jul 03, 2001 at 08:36:34PM +0200, Petr Krenzelok wrote:
> uhm, now I am confused - FastCGI native mode (described as "dynamic" mode in
> fastcgi dos) uses multiplexed connection?
No, not multiplexed connections (actually, in theory FastCGI can do that, but
most server plug-ins don't). I said "multiplexing over ports". With FastCGI
in native mode your script waits on a port and can accept multiple connections
in parallel, and handle them simultaneously. This can be useful if each request
needs to fetch data through other TCP or UDP ports. You could dynamically
build wait blocks which contain the FastCGI listening port, all active
FastCGI data ports and all secondary ports you created, to multiple over all
pending FastCGI requests.
> The docs distinguish three
> states -
<<quoted lines omitted: 3>>
> (probably CGI compatible too) - Apache loads/kills instances of fastcgi
> servers (rebols) according to FastCgiConfig directive
These two are identical except that one preloads instances of the server and
the other one does not. Both pass local sockets through stdin and probably
only work in Unix. They are intended for use with "CGI comptability mode"
in REBOL.
> - external mode - FastCgiExternal mode - Apache doesn't care of your
> servers, it assumes they are running ...
This one communicates through TCP sockets. The server can even be on a
different box. For FastCGI native mode.
> Am I correct or wrong? In what way does Apache (fastcgi process manager)
> communicate with Rebol, once in default mode? I saw some strange code in my
<<quoted lines omitted: 6>>
> ** Near: ble: open fastcgi://
> Could you explain a little bit of Rebol internals here, please :-)
Not much to explain :-). With the "-c" (or "--cgi") option REBOL is smart
enough to distinguish whether it was started through CGI or FastCGI ("static"
or "dynamic" in Apache lingo, not "external"). In the case of regular CGI
REBOL gets the CGI environment from environment variables. In the case of
FastCGI REBOL creates a fastcgi:// port (no port number means stdin is used),
waits for the first connection on it, and gets the FastCGI environment from
there.
> Why isn't it possible to have non-blocking 'insert with ODBC?
I'll let Sterling answer that. AFAIUI the ODBC API provided by Microsoft
does not provide proper, compatible support for asynchronous operation.
--
Holger Kruse
[holger--rebol--com]
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted