Hi REBOLians:
I'm confronted with a little but important problem...
I'm using a block structure for storing data on a server.
40 PC's -soon 80- could potentialy dump their data on the same time into one
single data file on the server.
Because we using Win NT -which I do not trust for reability-, I use a system
of token to insure concurrent access to the file:
<snip>
forever [
either all [(count<= 20) token?] [
count: count + 1
;--- attempt to reserve token
if error? err: try [write token-file now (true)][
disarm err
return false
]
wait 5 ;--- take delay to be sure token is written
;--- try write operations
answers: load local-file
either error? err: try [save remote-file append load
remote-file answers (true)][
;--- release token
delete token-file
disarm err
return false
][
;--- release token
delete token-file
delete local-file
return true
]
][
return false
]
]
token?: func [][
return not exists? rejoin [global-answer-path global-token]
]
</snip>
The token is just a text file in this case, and gives the PC the right to
"talk" to the server.
The proc checks for the existence of a token on the server, for a maximum of
20 times. If there's no token on the server, it writes its own one, dump the
data and release the token.
Empirically, I had to set a delay of 5 sec to ensure the token is written,
because of the slow network connection.
Well, my question is not about straight REBOL, but more a matter of
methodology :
The procedure works, but, as you can imagine, it is not very efficient for
so many PC working and dumping together.
How can I achieve a better performence regarding concurrent access in REBOL
on WinNT, which can garanty me no data will be lost ?
Best regard,
chr==
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.
[REBOL] Concurrent access to data file
CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN Mon, 19 Feb 2001 02:01:30 -0800
- [REBOL] Re: Concurrent acces... CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
- [REBOL] Re: Concurrent ... Petr Krenzelok
- [REBOL] Re: Concurrent ... Brett Handley
- [REBOL] Re: Concurr... Renaud
- [REBOL] Re: Concurrent ... Michal Kracik
- [REBOL] Re: Concurr... Ladislav Mecir
- [REBOL] Re: Con... Michal Kracik
- [REBOL] Re: Concurrent ... Andrew Martin
- [REBOL] Re: Concurr... Erin Thomas
- [REBOL] Re: Concurr... Erin Thomas
- [REBOL] Re: Con... Andrew Martin
