Re: CGI remark (was : Revolution and the Web, feedback wanted, Part 1 of 3)

2006-11-29 Thread Mark Wieder
jbv-

Wednesday, November 29, 2006, 2:41:46 AM, you wrote:

> I'm not sure to fully grasp the full extension of your remark (as I haven't
> used fastCGI yet), but as for separating 2 users' requests, this can be done
> easily by issueing a unique ID code to each user, and sending it along
> with each cgi request... Maintaining a table of logs with those unique IDs
> inside a DB can be usefull as well if you need to force users to re-log
> every 15 min or so...

Yes, it can be done. The problem is that then you're hand-crafting a
web app written in rev. Nothing wrong with that, but the same app is
probably not going to run as a desktop app and as a cgi backend.

-- 
-Mark Wieder
 [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: CGI remark (was : Revolution and the Web, feedback wanted, Part 1 of 3)

2006-11-29 Thread Mark Wieder
Robert-

Wednesday, November 29, 2006, 4:13:09 AM, you wrote:

> Actually, single-threading of Rev comes handy here. At any given
> moment, the program can run only for a single user, so as long as all
> user-specific data is passed as arguments and the any data that needs
> to be preserved is kept in a backend database, there is no problem. 

...and then it's no longer a rev app, it's a cgi app written in rev
and hand-crafted for a web environment.

-- 
-Mark Wieder
 [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: CGI remark (was : Revolution and the Web, feedback wanted, Part 1 of 3)

2006-11-29 Thread Robert Brenstein

 Mark Wieder wrote :

 Once you use fastCGI that problem disappears, as the engine is always
 in the server's memory, so it's like never closing the stack. But now
 you have problems separating the two users' namespaces. And since the
 variables are persistent, interleaving the two users' requests is
 going to get garbled. There's no way to keep them in separate places
 without a lot of frontend and backend coding. And that's just two
 users - it becomes a lot harder as you try to scale it. If you could
 thread user requests then this would resolve to a much simpler case.

 "Send in time" also probably requires multithreading, if it can be
 done at all. It's similar to the blocking problem conceptually. And
 any of the blocking calls will bring a fastCGI system to a halt and
 prevent multiuser access.

 --


Actually, single-threading of Rev comes handy here. At any given 
moment, the program can run only for a single user, so as long as all 
user-specific data is passed as arguments and the any data that needs 
to be preserved is kept in a backend database, there is no problem. 
If globals have to be used, then tagging data by some userid or 
session code can allow differentiation. This works particularly well 
when user actions can be atomized into individual actions which do 
not require larger chunks of server time.


Robert
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: CGI remark (was : Revolution and the Web, feedback wanted, Part 1 of 3)

2006-11-29 Thread jbv


Mark,

I'm not sure to fully grasp the full extension of your remark (as I haven't
used fastCGI yet), but as for separating 2 users' requests, this can be done
easily by issueing a unique ID code to each user, and sending it along
with each cgi request... Maintaining a table of logs with those unique IDs
inside a DB can be usefull as well if you need to force users to re-log
every 15 min or so...

I might be missing something, but I wouldn't call this "a lot of frontend
and backend coding"...

JB

> Mark Wieder wrote :
>
> Once you use fastCGI that problem disappears, as the engine is always
> in the server's memory, so it's like never closing the stack. But now
> you have problems separating the two users' namespaces. And since the
> variables are persistent, interleaving the two users' requests is
> going to get garbled. There's no way to keep them in separate places
> without a lot of frontend and backend coding. And that's just two
> users - it becomes a lot harder as you try to scale it. If you could
> thread user requests then this would resolve to a much simpler case.
>
> "Send in time" also probably requires multithreading, if it can be
> done at all. It's similar to the blocking problem conceptually. And
> any of the blocking calls will bring a fastCGI system to a halt and
> prevent multiuser access.
>
> --

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution