[racket] FastCGI support?
That pure-Racket SCGI module is used successfully for a large
workstation-ish Web app, and for several Web services (including data
interchange and an offline mobile app backend).
Before I implemented SCGI, I implemented most of a pure-Racket (well,
pure PLT Scheme) FastCGI interface. But, IIRC, then I decided the
FastCGI protocol was nasty, and I started finding people complaining
about long-term bugs/flakiness in the Apache FastCGI module (and Apache
was a requirement for a particular system I had in mind).
I also have planned some semi-research-y scalability&latency experiments
that initially build upon the Racket SCGI module, though I'll also be
looking at direct pure-Racket implementations of HTTP. (Coincidentally,
the lots-of-cores machine for that work is supposed to arrive today.)
If you're still looking at doing FastCGI via FFI rather than
pure-Racket, one caution: when you have to debug a Web server app with
an intermittent failure that only occurs in deployment, and you don't
have full access to the deployed server, you will be twice as unhappy if
you can't rule out C code corrupting a Racket process. Complex server
apps are hard enough debug without involving memory corruption.
BTW, the author of the SCGI protcol and the SCGI Apache module has
resumed working on it, to get the latest version is in Debian & Ubuntu,
and resolve build problems with upcoming distro versions.
Neil V.
Matt Gushee wrote on 11/19/2014 03:47 AM:
> Thank you, Jens. I think I've even seen that before ... although I
> gather SCGI has some limitations compared to FastCGI, it might work
> for me. I'll definitely give it a try.
>
> On Wed, Nov 19, 2014 at 1:41 AM, Jens Axel Søgaard
> <jensaxel at soegaard.net> wrote:
>> Hi,
>>
>> I think you need: http://www.neilvandyke.org/racket-scgi/
>>
[...]