World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
Dockimbel 8-May-2009 [4553x2] | Max, not sure that it can help you, but you can open a live REBOL console connected to a running Cheyenne instance (only from localhost). You can then use the NETSTAT function to list all active connections in realtime. The client for connecting is : %UniServe/clients/rconsole.r |
If you try that, just beware of a few things : - don't use QUIT or you'll close Cheyenne, just send a CTRL-C to exit the console session. - avoid probing things like UniServe's ports, they contains several circular references that, once molded, will produce huge amount of printed text and can hang on the server for several seconds (or minutes in the worst case). | |
Maxim 8-May-2009 [4555x2] | rconsole is cool, it will allow me to follow development from the outside. |
I mean follow if the changes are really doing what they should :-) | |
Dockimbel 8-May-2009 [4557x2] | I've use it a few times to hotpatch running Cheyenne instances. |
<used> | |
Janko 9-May-2009 [4559] | Hi, Doc .. is the latest binary not totally the same as sources? It seems it doesn't look into lib32 like it does if I run from sources |
Dockimbel 9-May-2009 [4560] | It should be the same. Did you applied the patch I gave you in Linux group on the sources? |
Janko 9-May-2009 [4561] | The source version worked without any patches already.. I can't apply them to binary version because I can't enpro it.. I am still not an owner of Rebol or SDK |
Dockimbel 9-May-2009 [4562] | I could encap a new version if you need, just let me know which encapper you prefer : enpro or enface? |
Janko 9-May-2009 [4563] | If I understand right enpro is without view and enface is not.. I would need the one without |
Dockimbel 9-May-2009 [4564] | That's right. Enface requires a few additional libs installed in order to work (like Xlib). |
Janko 9-May-2009 [4565] | I would be really gratefull if you could make new build :) |
Robert 11-May-2009 [4566x4] | DEBUG: I tried the debug-banner stuff but it doesn't work. |
** Script Error : debug-banner has no value ** Where: rsp-script ** Near: [debug-banner/active?: yes | |
Prefixing it with debug/ doesn't work as well. | |
Any idea? | |
Dockimbel 11-May-2009 [4570x2] | Tested here, same error as you. The word is declared inside an object and is not exported in global space. |
It looks like it's more complicated to activate the debug mode from within a RSP script than it seemed first. | |
Robert 11-May-2009 [4572x2] | Ok. I use the workaround that I'm logged into the server and use a "tail -f trace.log" to see what's happening. |
Works. | |
Maxim 13-May-2009 [4574] | doc, my I suggest a new feature? |
Dockimbel 13-May-2009 [4575] | sure |
Maxim 13-May-2009 [4576x7] | a way for a service to be asked permission to allow connection from the uniserve POV. something like on-allow-connection? within the service api. |
can services add data within the /shared object? | |
this way, the uniserve can ask the service if all is set for handling requests... there are hundreds of uses for this... time tables, required header fields, etc etc. | |
in this case connection limits based on service specific requirements, like detecting deadlocks in requests ... which uniserve obviously can't figure out by itself. | |
if the service is in an state it can deduce as problematic, it can directly report it to the client attempting to connect to cheyenne, before any data is even read. | |
in my case, the services have dependencies on remote servers... so its possible the remote server is down, I want to report this to the client connecting to cheyenne right away, not wait for a double timeout to occur, which means the service can be down for a very long while before cheyenne client connections start reporting error. | |
in this case, I can easily keep statistics on my service, noting access times and concurrent connections, detecting if something is preventing the service from actually handling calls. | |
Dockimbel 13-May-2009 [4583] | Shared object: yes, you can add data there, it's for sharing data/code between all services. |
Robert 13-May-2009 [4584] | Is it possible to load a SSI page from a RSP script? I have the following situation: A RSP page is triggered by a link using a virtual REST URL. Now I need to return a page to the client in a way that the URL bar of the browser shows the virtual REST URL. The page I want to return is a SSI page. |
Maxim 13-May-2009 [4585x2] | is there docs on how to store shared data? (note I'm a cheyenne noobie, even if I now know how the request is handled from client down to internal service handling hehehe) |
doc, if you want I can implement the new feature and give you the part of the code which was tweaked? is that usefull to you? | |
Dockimbel 13-May-2009 [4587] | SSI from RSP: you can load it, but it won't be processed. There's no buitlin way to process SSI from RSP, but you can extract the processing code from SSI.r and load it in your RSP to do that (maybe not the simpliest solution...). |
Maxim 13-May-2009 [4588] | I'd have to ask permission from my client but I don't think he'd mind. |
Dockimbel 13-May-2009 [4589] | Docs on shared space: http://softinnov.org/rebol/uni-guide.html#sect4.7. |
Maxim 13-May-2009 [4590] | thx |
Robert 13-May-2009 [4591] | Would it be hard to add a SSI-INCLUDE function that's available in RSP files? |
Dockimbel 13-May-2009 [4592] | Robert, no, it shouldn't be hard I guess. Just extract the code from SSI.r and load it in your RSP. Btw, you can use the new WORKER-LIBS config options to load that code to be available for all RSP (standalone script or webapp). |
Robert 13-May-2009 [4593] | Ok, cool. Will do so. |
Dockimbel 13-May-2009 [4594] | Max: I'm reading several times what you're asking, but after 11 hours of work today, I think that my brain is too "liquified" to get it at once...;-) I'm trying again. |
Maxim 13-May-2009 [4595x2] | heehehe |
client connects -> uniserve -> service(httpd)/on-allow-connection? MSG 500: Remote server problems <- uniserve <- "Remote server problems" | |
Dockimbel 13-May-2009 [4597x2] | Ok, I think that what you're asking for may be too specific for each services to be implemented in a general way in Cheyenne. Shared data (using shared object) might solve most of this class of issues (requirements to accept new clients connections). |
Are you just asking for a new "on-allow-connection?" callback in UniServe? | |
Maxim 13-May-2009 [4599x3] | I realise that an on-connection-error callback (in the service) would also be required to construct a proper reply, based on the service being called. |
doc, yes.... | |
sorry... I'm a cheyenne noobie hehehe still having issues knowing how to refer to some things in "cheyenne speak" | |
Dockimbel 13-May-2009 [4602] | No problem, you can have a look into the UniServe documentation, to see what's already available. |
older newer | first last |