Multi-user stacks on servers?

Alex Rice alrice at ARCplanning.com
Mon Feb 10 14:14:01 EST 2003


On Monday, February 10, 2003, at 09:24  AM, valetia at mac.com wrote:
>
> Will RR know to automatically queue all pending requests until the 
> current
> one is completed, so that all updates succeed automatically while not
> corrupting the stack?

Sounds like you need an actual relational database with transactional 
capabilities. Like PostgreSQL or OpenBase or something.

A Rev CGI app cannot queue anything because many instances of the Rev 
CGI app can be running simultaneously all trying to access the same 
data stack. There is no single process in charge of handling conflicts. 
The best you could do is file locking or some other write-locking 
signals to prevent conflicts. That's not a good solution. You really 
need a client-server setup with an actual transactional database on the 
backend. This is not something specific to Rev, it's just the nature of 
CGI apps.

If someone were to write something in Rev along these lines, I would 
start by looking at Python/Zope/ZODB. ZODB is a transactional object 
database written all in Python (a scripting language). In order to 
achieve this you must necessarily run a persistent server process 
(daemon) for the backend data store. You cannot do it via CGI alone.

Alex Rice, Software Developer
Architectural Research Consultants, Inc.
alrice at ARCplanning.com
alrice at swcp.com






More information about the use-livecode mailing list