r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Dockimbel
1-Sep-2009
[5623]
I've noted in my todo list to extend the RSP API to be able to add/delete 
jobs (for now, the list is static, loaded from config file and cannot 
be accessed from RSP).
Graham
1-Sep-2009
[5624x2]
FEAT ??
Do you mean "Done ?
Dockimbel
1-Sep-2009
[5626x2]
FEAT[URE]
yes, means done
Pekr
1-Sep-2009
[5628]
Doc - does Cheyenne already enable setting handlers for particular 
filetypes? I mean - equivalence to:

AddHandler rebol-cgi-dispatch .html
Action rebol-cgi-dispatch /cgi-bin/rebol-cgi-dispatch.cgi


For Cheyenne only users, it is not important, they can use RSP, but 
for those who want to have chance to migrate between Apache and Cheyenne 
in CGI mode, it might be usefull. I expect it not being a priority 
for you though ...
Dockimbel
1-Sep-2009
[5629x3]
But the scheduler is still very fresh, no logging, not much tested,...
Need to check the sources, I don't remember how far we are now.
Currently there's only URL=>script aliasing available, but looking 
at the ALIAS code, I think that : 
	alias ".html" /cgi-bin/rebol-cgi-dispatch.cgi

might work (need to be tested). Do you really think that there's 
much users waiting for that feature?
Graham
1-Sep-2009
[5632x3]
Is this scheduler part of Cheyenne or Uniserve?  Just not sure what 
it has to do with Cheyenne
Is it to give those tasks hanging around something to do :)
Something I'd like to do is run a backup of my database, compress 
it and upload it to S3.  I use a script for that at the moment .. 
so maybe I can use the scheduler.
Pekr
1-Sep-2009
[5635x2]
Doc - I don't know. But how I got myself to such a solution? Simply 
put - I never got past CGI usage. It is quite comfort and OK for 
small to middle sites. But I wanted to have also index.html being 
a dynamic site, not just some /cgi-bin/my-subpage.cgi?here ....
Your RSP solution might be fine, but if someone wants to feel secure 
= having ability to migrate back to Apache set-up, it will not work.
Dockimbel
1-Sep-2009
[5637x3]
Petr, in any case, you can "extend" Cheyenne feature-set by using 
a front reverse-proxy (nginx, lighthttpd, stunnel, apache,...).
Scheduler is a standalone library. Cheyenne uses it to manage jobs 
defined in config file. UniServe will use it for example, to retry 
sending emails after x minutes.
The scheduler doesn't spawn any new process by itself. When you specify 
an action, you can use CALL or LAUNCH in the action code to run your 
task in background. You can also use a URL pointing to a local CGI 
or RSP script (making it run in the background using one of the task-master 
worker processes).
sqlab
4-Sep-2009
[5640]
I tried to run  Cheyenne as a service.
It installs itself as a service, but does not run.
Dockimbel
4-Sep-2009
[5641]
What OS? Do you have admin rights?
sqlab
4-Sep-2009
[5642x2]
When I test with the scm-100 package, I can open the service manager 
an some pcs, but not on all.
What should I observe, if I want to run Cheyenne as a service?

I used WinXP, Win2000 and Win2003. I have admin rights
I used your latest svn trunk and encapped it with encmd
Dockimbel
4-Sep-2009
[5644]
Testing here on XP, the SVN version doesn't seem to work in service 
mode. You should use latest stable version instead until this get 
fixed.
sqlab
4-Sep-2009
[5645]
ok, thanks
Graham
4-Sep-2009
[5646x2]
encapped with encmd and not encmdface?
doc has said that face prevents rebol apps running as windows services 
.. I didn't know that you could encap without face as cheyenne needs 
that to generate the captcha images ...
sqlab
5-Sep-2009
[5648]
I do not need captchas, as I just want to couple some system.
Graham
10-Sep-2009
[5649]
Just curious .. has anyone run phpmyadmin under cheyenne?
Janko
10-Sep-2009
[5650]
I wasn't able to install it even to lamp one time :)
amacleod
10-Sep-2009
[5651]
Yes, I had it running a ways back...I did not like the dos window 
that opened up to get php running...
sqlab
10-Sep-2009
[5652]
If I want to do REST or SOAP, can I use Cheyenne?
Where do I have to intercept?
Dockimbel
10-Sep-2009
[5653]
Phpmydamin: yes I'm using it sometimes, since PHP support has been 
added. Mostly on Windows. I don't remember seeing the DOS window 
popping up for PHP scripts. Maybe you've used PHP in CGI mode with 
Cheyenne?
sqlab
10-Sep-2009
[5654]
no need for an answer anymore, I just looked over some information 
on this
Dockimbel
10-Sep-2009
[5655x2]
Graham did some work on REST support for Cheyenne. SOAP requires 
a XML encoder/decoder in your RSP script.
Too late :-)
sqlab
10-Sep-2009
[5657]
thanks anyway
Janko
11-Sep-2009
[5658]
is there a setting in httpd.comf where I could change how long a 
auth session in webapp lasts?
Graham
11-Sep-2009
[5659]
in the webapp config

timeout time!
Janko
11-Sep-2009
[5660]
thanks
Pekr
11-Sep-2009
[5661x3]
What technique does cheyenne use in regards to spawning of new processes? 
I mean - it either uses 'launch or some form of 'call. I wonder, 
what is the IPC (inter-process communication) strategy. E.g. I have 
10 requests I want to handle simultaneously, I spawn 10 processes. 
How do I pass TCP port to them? Or does it work some different way?
I want to try to plug R3 into Cheyenne to test CGI under Windows. 
I can't understand, how Cheyenne handles CGI though. I can find handlers/CGI, 
where it does some strange stuff. First and foremost - the shebang 
line is ignored, yet CGU it works - you can entirely delete it. I 
can get shebang section evaluated only if I delete REBOL header. 
This is confusing for me ...
Does Cheyenne call somehow internally default installed REBOL interpreter 
on your machine? Or is CGI handled by one of spawned processes by 
the interpreted instance, running the CGI? I simply want it to order 
to use my own interpreter :-) OK, will try with Apache, that will 
be clearer ...
Dockimbel
11-Sep-2009
[5664x2]
Janko: look in the Cheyenne's ChangeLog file, that's where I document 
new stuff.

Direct link: http://code.google.com/p/cheyenne-server/source/browse/trunk/Cheyenne/changelog.txt
Spawning new process: It uses CALL to simulate LAUNCH because LAUNCH 
native wasn't supported by all REBOL kernels IIRC. IPC is done using 
TCP ports : client <=TCP:80=> httpd <=TCP:980x=>worker-process
Janko
11-Sep-2009
[5666]
Thanks Doc
Dockimbel
11-Sep-2009
[5667]
If you want to handle 10 requests at the same time, Cheyenne will 
proxify your requests to background processes (taken from the existing 
preforked pool, additional processes are started if the pool is not 
enough).
Pekr
11-Sep-2009
[5668]
Do you use any specific dialect for IPC, or just some basic parsing 
methods? Those questions are just theoretical. Now I am more interested 
into how do I let Cheyenne use R3 for CGI process, instead of R2, 
just to do some testing?
Janko
11-Sep-2009
[5669]
btw.. cheyenne already does by itself what you need frontend nginx 
+ multiple instances of mongrel / cherrypy (TurboGears) / servers 
in the background
Dockimbel
11-Sep-2009
[5670]
CGI handling: two different strategies are applied :


- if the target script is a REBOL script, the process is already 
a REBOL session, so no need to start a new one (and avoid the startup 
cost, so you get FastCGI speed). Shebang line is ignored in that 
case.


- if the target script is not a REBOL script (no REBOL header), classic 
approach is used: setting of environnemental variables, CALLing executable 
from shebang line, sending input, catching output,...
Pekr
11-Sep-2009
[5671]
so, my strategy is - use the sheband line, remove REBOL header, right?
Dockimbel
11-Sep-2009
[5672]
To support R3, you have to either hack CGI.r source code to force 
REBOL script to use the general strategy (simple to do, but probably 
poor performances) or implement a mod-R3 extension to setup a custom 
R3 persistent server (more work but faster result).