World: r3wp
[!Uniserve] Creating Uniserve processes
older newer | first last |
Mchean 30-Jan-2007 [435] | my purpose is to educate myself about servers using Uniserve as a starting point |
Oldes 30-Jan-2007 [436x3] | just go to services/HTTPd.r file and edit the prefs |
you can also change the port you are listening - for example to 8080 | |
the file is probably not in the best shape as there are some probes which are probably because of debugging which was Doc making at the moment when he gave it here | |
Mchean 30-Jan-2007 [439] | ok thanks - do you think Rugby might be a better choice? |
Oldes 30-Jan-2007 [440] | I don't know, I never used Rugby and don't know what you want to do:) |
Mchean 30-Jan-2007 [441] | just a learning tool |
Oldes 30-Jan-2007 [442x2] | what kind of learning? |
I started with uniserve 0.9.9 which is stable enough for me. | |
Mchean 30-Jan-2007 [444] | to learn about web servers, and rebol commands |
Oldes 30-Jan-2007 [445x2] | I'm not sure if you should not start with some older server which are not async |
for example with this one http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=webserv.r | |
Mchean 30-Jan-2007 [447] | thanks - i will look at that |
Oldes 30-Jan-2007 [448] | And there is another bug in the UniServe0919 - there should be this in the file %services/task-master/task-handler.r (the [not value?] check is not enough): if any [not value? 'uniserve-path none? uniserve-path] [uniserve-path: what-dir] if any [not value? 'modules-path none? modules-path] [modules-path: dirize uniserve-path/modules] if any [not value? 'uniserve-port none? uniserve-port] [uniserve-port: 9799] |
Graham 30-Jan-2007 [449] | Oldes, why don't you release a fixed version ? |
Oldes 30-Jan-2007 [450x2] | I just started:) |
and still have some problems... | |
Pekr 30-Jan-2007 [452x3] | That all sounds really strange, as Doc was claiming they use Uniserve in production for several customers or so, for quite some time ... |
Oldes - what does your task master fix fixes particularly? | |
Mchean - In the past I really loved Rugby - if you want to start with something, and learn something (RPC), it is really a good choice (Rugby). Very simple to use. What I did not liked was - its lack of asynchronicity. E.g. in Rugby you select your function of exported (so callable over the tcp/ip network). But if such function does something for 10secs, then all Rugby is blocked and it is not able to accept further requests. | |
Oldes 30-Jan-2007 [455] | Pekr: I'm using uniserve as well for some time, but version 0.9.9 I found some time to look at the version 0.9.19 now so I'm examining it, and must say, that's just a quick pack of some files. |
Pekr 30-Jan-2007 [456x2] | Maarten later on introduced so called "green threading" (?), so you can divide your exposed function functionality in several or many parts, to get better granularity. Then he introduced chaining- so that e.g. main Rugby process could become kind of proxy, and forward (chain) request to other instance. But then there were some problems iirc and Maarten left its development. |
Uniserve is imo kind of engine we SHOULD adapt and include in the core. In the case of R3, using native R3 tasking ... | |
Oldes 30-Jan-2007 [458x2] | And don't forget, that Chayenne is made on Uniserve, it will be probably some more uptodate version:-) |
Pekr: and if you need to process something which will take 10secs, Uniserve should be good in that. | |
Pekr 30-Jan-2007 [460] | yes, but its session support sucks. I really don't understand, how Doc could release it, as it miserably fails. Have you tried multiple pane demo? |
Oldes 30-Jan-2007 [461] | At least I use it for such a scenario, which takes more than 10secs to process |
Pekr 30-Jan-2007 [462] | Later on he told me session handling is going to be rewriten, but then he left scene for another few months probably :-) |
Oldes 30-Jan-2007 [463x2] | it's not realease |
he just gave us some sources to play with | |
Pekr 30-Jan-2007 [465] | I tried to contact him few days ago, and asked him for some more recent version. I somehow believe, that if he really uses it for his own stuff, he has to have some things fixed already :-) |
Oldes 30-Jan-2007 [466] | Yes, the most recent version is newer httpd service which is called Cheynne :) |
Pekr 30-Jan-2007 [467] | and do we have access to that httpd source? Cheyenne is encapped, no? |
Oldes 30-Jan-2007 [468x6] | Yes, the encapped part is the httpd service. You can see, that in Cheynne archive there is a little bit newer uniserve engine - 0.9.20 |
(not just httpd as it is able to do for example bzip2 compression so it probably needs some libs) | |
ech.. no, the compression should be in version 1.0 | |
and if you look into cgi code in the UniServe archive, you can see, it identifies itself like soc/server-software: "Cheyenne/1.0" | |
so what is here is Cheyenne in some unfinished state | |
hmm.... maybe if someone was using uniserver 0.9.9 and want to upgrade, there was important change - instead of module/response there is now module/result | |
Pekr 30-Jan-2007 [474] | but 0.919 is provided with no documentation ... what is the difference then? |
Mchean 30-Jan-2007 [475] | so the project - moving forward - contains encapped modules? |
Oldes 30-Jan-2007 [476x2] | This was quite important difference as my scripts were still using response (so I was getting result = none) |
I'm slowly moving forward:) after a few hours I almost have what I already had but using new uniserve:) | |
Pekr 30-Jan-2007 [478] | so new version, 0919 does not work s is? |
Oldes 30-Jan-2007 [479x3] | it works, but you have to do some small changes:-) |
as the one above | |
and I'm not using most of the files. (At least now) | |
Oldes 7-Feb-2007 [482] | I've got this newer Nenad's version of UniServe http://box.lebeda.ws/~hmm/rebol/UniServe-r0991.zip (but as he said - beware, it needs several fixes and updates to become a 1.0 candidate) |
Pekr 7-Feb-2007 [483x2] | he is in contact with you? |
btw - what fixes it needs? | |
older newer | first last |