World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
BudzinskiC 25-Apr-2010 [8094x2] | Graham, which version of Ubuntu are you using? The newest version of Ubuntu doesn't use the /etc/init.d system anymore, it uses upstart instead: http://upstart.ubuntu.com/getting-started.html.Much easier but less powerful (but maybe enough for you) is editing the /etc/rc.local file. That just starts an app after booting, it doesn't allow you to restart or stop it with a command. Just put the command to start up cheyenne on a line between "# By default this script does nothing." and "exit 0" |
Even better though would be if you wrote a small demon script in rebol or bash or whatever you like, that gets started by rc.local instead of directly starting cheyenne. This demon would check all running tasks every 60 seconds and see if cheyenne is still running, otherwise restart it. This way, if cheyenne should crash, it is automatically restarted. | |
Janko 25-Apr-2010 [8096] | I think there are some applications that do this.. can't remember their names right now |
Graham 25-Apr-2010 [8097x6] | It's not my server .. .I just told them to install ubuntu server 32 bit |
I'll have a look .. but I'm having issues now starting cheyenne. I'm using the latest binary from doc but it just stops | |
I have to run cheyenne.r to allow it to create a cache.efs file and then I can run the binary | |
ie. I use rebol core and use the source version | |
going to try the rc.local | |
Doesn't seem to be predictable ... | |
Graham 26-Apr-2010 [8103x10] | Is there a simple file upload script demo .... ? |
Hmm.. Cheyenne is not handling HEAD correctly >> read/custom http://www.curecode.org/[ HEAD "" ] URL Parse: none none www.curecode.org none none none Net-log: ["Opening" "tcp" "for" "HTTP"] connecting to: www.curecode.org Net-log: {HEAD / HTTP/1.0 Accept: */* Connection: close User-Agent: REBOL View 2.7.6.3.1 Host: www.curecode.org Referer: http://www.curecode.org/ } Net-log: "HTTP/1.1 200 OK" Net-log: ["low level read of " 2048 "bytes"] | |
my error .. I'm using an old version of Cheyenne | |
Mine is Server: "Cheyenne/0.9.18" | |
Guess the error is fixed now... | |
Upgraded to Server: "Cheyenne/0.9.19" but bug is still present. | |
this is with 9.19 >> read/custom http://129.33.194.254:8080/tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf [ HEAD "" ] URL Parse: none none 129.33.194.254 8080 tempsdfsfsadfasdfasf/ hasfasdfsfpkkkk.pdf Net-log: ["Opening" "tcp" "for" "HTTP"] connecting to: 129.33.194.254 Net-log: {HEAD /tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf HTTP/1.0 Accept: */* Connection: close User-Agent: REBOL View 2.7.6.3.1 Host: 129.33.194.254:8080 Referer: http://129.33.194.254:8080/tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf } Net-log: "HTTP/1.1 200 OK" Net-log: ["low level read of " 2048 "bytes"] | |
this is for a non existent file | |
I wonder if the custom 404 handler is causing this. | |
Doc, any explanation as to why it can be so hard to start Cheyenne? I think it is to do with the .cache.efs file | |
Oldes 26-Apr-2010 [8113x2] | There is upload demo... check upload.html and upload.rsp files |
The problems with start: check log files. Run cheyenne in debug mode like: ./cheyenne -vvvv | |
Graham 26-Apr-2010 [8115x3] | It never gets as far as creating the pid-log files |
the process just terminates | |
as for upload ... I used something I found that I wrote a few years ago :) | |
Terry 30-Apr-2010 [8118] | doc, you should focus your development on nodejs, or look at event driven Cheyenne version |
Graham 30-Apr-2010 [8119] | Anyone benchmarked Cheyenne vs nodejs ? Both are event driven. |
Kaj 1-May-2010 [8120x13] | Here's a small bug fix for Cheyenne |
In HTTPd.r in make-tmp-filename: | |
not exists? incoming-dir/out | |
should be | |
not exists? incoming-dir/:out | |
This bug is unlikely to trigger, but when it does, it mixes up received data | |
I guess it's like the semicolon bug that made a space probe miss Jupiter by 100,000 km :-) | |
Cheyenne doesn't seem to load its MIME definitions from the standard location on Unix systems, %/etc/mime.types, loading an internal list %misc/mime.types instead | |
Is there a reason for this? The list on most Unix systems and Syllable Server is much more comprehensive | |
Could it look for the standard list first, and then fall back to the internal list when it doesn't find it? | |
From earlier messages here, it was my understanding that Cheyenne on Linux can run its UniServe taskmaster processes under a non-root user account by enabling 'userdir in the modules and 'user and 'group in the globals | |
However, when I do that, all of Cheyenne is still running as root | |
The designated user and group exist. What else do I need to do? | |
Terry 1-May-2010 [8133x3] | Here's a nice key-value store... Redis http://code.google.com/p/redis/ |
http://simonwillison.net/static/2010/redis-tutorial/ | |
(posting here.. wouldn't hurt to have a Cheyenne module for accessing this piece of art) | |
Terry 2-May-2010 [8136x3] | Spent the last couple of days grokking Redis.. you owe it to yourself to take a long look. |
<rant>One thing Cheyenne (and Rebol) needs to do is grow up, and lose Altme as the primary source of communication</rant> | |
Redis protocol spec.. very simple http://code.google.com/p/redis/wiki/ProtocolSpecification | |
Terry 3-May-2010 [8139x2] | Ported my atom functions to Redis.. this thing is BLAZING 100,000 reads/ sec 100,000 writes/sec 95% of my functions work at O(1) |
Now all we need is a Cheyenne protocol :) | |
Terry 7-May-2010 [8141] | I'm thinking about porting Redis to Rebol as a datastore for Cheyenne, but I'm not sure of performance.. Redis is a key/value db like CouchDB, with a number of nice features (persistence etc.) Now in Redis, I can create a db with 120,000 key / value pairs.. keys are integers from 1 - 120,000 (in this example) with a 10 byte string as the value In redis, i can do 10,000 GETS (return the value of the key) in 1.39 seconds or 7200 / second. Now trying to model this in Rebol, i used R3 on a newer machine (i7 / 6gb ram) with a block of integers from 1 - 120,000 PICK is blazing: 10, 000 picks in .011 seconds but with SELECT it's 10,000 GETS in 2.23 seconds My question is.. is there a faster way in Rebol to select a value from a key? |
Maxim 7-May-2010 [8142] | did you try using a map? |
Terry 7-May-2010 [8143] | nope |
older newer | first last |