World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
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 [5672x2] | 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). |
if you remove REBOL header, will R3 accept to run the script? | |
Pekr 11-Sep-2009 [5674] | hmm, but then I get - ** Syntax Error: Script is missing a REBOL header ** Near: do/args script system/script/args |
Dockimbel 11-Sep-2009 [5675] | :-) |
Pekr 11-Sep-2009 [5676x2] | that is - for R2. I changed REBOL [] to REEBOL in order to get sheband line active. The strategy could be simplified, but the 'either code would have to be reordered ... |
Simply put - if sheband line is there, us it, easy as that. I don't understand why normal REBOL header takes precedence ... putting sheband line into action is problematic, if you somehow need to use rebol script, without REBOL header ... | |
Dockimbel 11-Sep-2009 [5678] | Hacking CGI.r seems easier. Just patch it to avoid REBOL header detection like this: script: none ; <= add this line to force classic CGI either all [ string? script not empty? script ][ |
Pekr 11-Sep-2009 [5679] | yes ... that is patch for incorrect logic, but easy one :-) |
Dockimbel 11-Sep-2009 [5680x2] | I wanted to make it easier for CGI coders to switch from Cheyenne<=>Apache. Using your solution would force users to add/remove the shebang line each time you change server (like debugging locally on Cheyenne and putting in production on Apache). |
Always honoring shebang line would result in poor performance of REBOL CGI scripts under Cheyenne. | |
older newer | first last |