|
|
Mozy Online Backup: 2GB Free. Automatic. Secure.
Subject: Re: FastCGI? - msg#00121
List: lisp.scheme.chicken
> From: Giovanni Pensa <menozero@xxxxxxxxx>
> Hi. I'm doing some CGI scripts with Chicken. I'd like to also test
> it with FastCGI, because some web hosting providers (like Dreamhost or
> TextDrive) have started to support it. (If you can use Ruby, you can
> use Chicken...)
>
> I haven't found an egg, just some code for Gauche, and some for Clisp.
> Also a fastcgi proxy. Is there anything more? I've been looking at
> the libfcgi C library, and I'll try to interface to it. But I've long
> forgotten C... Hints?
I've written a binding to libfcgi. It's basically a complete mess at
this point, but it works (caveat: only tested on Linux/lighttpd and
will certainly not work in Windows). I can send it to you if you
want, and I'll probably fix it up and release it eventually.
Regarding other solutions:
I couldn't get the FastCGI proxy from Metcast to work, and it looked
like getting it to work would require learning the details of libfcgi
(which is why I wrote my own, since it was about the same amount of
trouble). I had roughly the same problem with the one for Gauche,
with the additional bonus that Gauche has an undocumented FFI. The
only other Scheme/Lisp solution I know of is a native implementation
for CMUCL, which I have not used.
Reed Sheridan
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
Re: home for egg-repository needed...
> Now the final question: would anybody be willing to spare some server-space
> for this? I need a server that holds the source-repo and runs a csi script
> on every commit that ftp's changed eggs to call/cc.org.
I could provide space in my svn.afc.no-ip.info server, which I
currently use for my eggs anyway. My eggs are in:
https://anonymous@:svn.afc.no-ip.info/svn/home/src/chicken-eggs/
I would probably create a separate repository for the eggs (currently
this repository holds a lot of other code besides the eggs). I would
give the egg authors write access to their eggs' directories (I think
this would work better than giving everyone write access to the whole
repository). And, I would, obviously, set it to run the update script
whenever a commit is made.
BTW, the script should somehow check to see which directory was
modified (since we're hosting multiple eggs on the same repository; I
find this preferable to using a different repository for each egg).
I've written a svn-post-commit-hooks egg for this very purpose (which
I use in my svnwiki and svnblog programs, both of which have code
executed whenever a commit to a svn repository is made and need to
tell what files where modified).
Alejo.
http://azul.freaks-unidos.net/
---=( Comunidad de Usuarios de Software Libre en Colombia )=---
---=( http://bachue.com/colibri )=--=( colibri@xxxxxxxxxx )=---
signature.asc
Description: Digital signature
_______________________________________________
Chicken-users mailing list
Chicken-users@xxxxxxxxxx
http://lists.nongnu.org/mailman/listinfo/chicken-users
Next Message by Date:
click to view message preview
Error compiling chicken 2.2 on Windows
Hello!
I've faced with the following problem building Chicken 2.2.
My platform: Windows 2000 Professional
Compiler: Visual C++ from .Net 2002
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.
Log:
...
cl /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000
/DC_NO_PIC_NO_DLL /DHAVE_LOADLIBRARY /DHAVE_GETPROCADDRESS /DHAVE_WINDOWS_H
/MT /c tcp.c /DPIC
tcp.c
tcp.c(57) : warning C4133: 'function' : incompatible types - from 'int *' to
'char *'
tcp.c(57) : error C2065: 'socklen_t' : undeclared identifier
tcp.c(57) : error C2059: syntax error : ')'
tcp.c(57) : error C2059: syntax error : 'while'
tcp.c(57) : error C2059: syntax error : 'do'
tcp.c(57) : error C2059: syntax error : 'while'
tcp.c(58) : error C2143: syntax error : missing '{' before ':'
tcp.c(58) : error C2059: syntax error : ':'
tcp.c(61) : error C2059: syntax error : '}'
tcp.c(191) : error C2059: syntax error : ')'
tcp.c(191) : error C2059: syntax error : 'while'
tcp.c(191) : error C2059: syntax error : 'else'
tcp.c(191) : error C2059: syntax error : 'while'
tcp.c(192) : error C2143: syntax error : missing '{' before ':'
tcp.c(192) : error C2059: syntax error : ':'
tcp.c(195) : error C2059: syntax error : '}'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
I took a look at 'getsockopt' description in MSDN and defined
a macros
#define socklen_t int
in the beginning of the file tcp.c. That helped.
Best regards,
Andrey
=======================================
Andrey Fomichev (fomichev at ispras.ru)
Sedna Team (http://modis.ispras.ru)
=======================================
Previous Message by Thread:
click to view message preview
Re: FastCGI?
On 10/13/05, Giovanni Pensa <menozero@xxxxxxxxx> wrote:
>
> While in a "housing" solution, how does Spiffy go? Any experience,
> benchmarks, opinions about it? How could it compare with a
> fastcgi/scgi solution? I see two mod_ solutions (Perl and PHP),
> losing popularity against fastcgi/scgi solutions (PHP, Ruby, Python)
> and only a few HTTP solutions (Lisp/Araneida, Python/Zope). I
> understand a Common Lisp server, but maybe scheme is better suited for
> "scripts". But Chicken can also be compiled, so I'm a bit confused.
> Ideas?
>
I can't really say much about all those different methods of interfacing
to a http-client, but what I like about the "direct" approach with spiffy is
that I have full control over dynamic content generation and the fact
that I don't need to install and setup a separate tool. Directly running
your code (interpreted, compiled and interpreted on the fly in .shp
pages) in the server allows quite elegant solutions.
But in the end it is a matter of taste, of course. Some things are
much better handled via a cgi.
Spiffys performance is acceptable (IMHO), some very simple benchmarks
I made a while ago showed it to be halfway between the PLT server
and the S48/SUnet server (serving a tiny static page). For complex
dynamic content generated in compiled code, Spiffy should be faster
than the PLT server, though. Chicken as the underlying implementation
has very effficient threads - it would be interesting to compare the PLT
server with Spiffy under very high load.
cheers,
felix
Next Message by Thread:
click to view message preview
Error compiling chicken 2.2 on Windows
Hello!
I've faced with the following problem building Chicken 2.2.
My platform: Windows 2000 Professional
Compiler: Visual C++ from .Net 2002
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.
Log:
...
cl /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000
/DC_NO_PIC_NO_DLL /DHAVE_LOADLIBRARY /DHAVE_GETPROCADDRESS /DHAVE_WINDOWS_H
/MT /c tcp.c /DPIC
tcp.c
tcp.c(57) : warning C4133: 'function' : incompatible types - from 'int *' to
'char *'
tcp.c(57) : error C2065: 'socklen_t' : undeclared identifier
tcp.c(57) : error C2059: syntax error : ')'
tcp.c(57) : error C2059: syntax error : 'while'
tcp.c(57) : error C2059: syntax error : 'do'
tcp.c(57) : error C2059: syntax error : 'while'
tcp.c(58) : error C2143: syntax error : missing '{' before ':'
tcp.c(58) : error C2059: syntax error : ':'
tcp.c(61) : error C2059: syntax error : '}'
tcp.c(191) : error C2059: syntax error : ')'
tcp.c(191) : error C2059: syntax error : 'while'
tcp.c(191) : error C2059: syntax error : 'else'
tcp.c(191) : error C2059: syntax error : 'while'
tcp.c(192) : error C2143: syntax error : missing '{' before ':'
tcp.c(192) : error C2059: syntax error : ':'
tcp.c(195) : error C2059: syntax error : '}'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
I took a look at 'getsockopt' description in MSDN and defined
a macros
#define socklen_t int
in the beginning of the file tcp.c. That helped.
Best regards,
Andrey
=======================================
Andrey Fomichev (fomichev at ispras.ru)
Sedna Team (http://modis.ispras.ru)
=======================================
|
|