Sounds like an HTML5 app on the client side? You can use SQLite in the client for offline and also on the backend for your main app if so.
Something I have done for edit collisions is to send a digest of the record with the form. It becomes a "known last edit token."
In DBIx::Class/Catalyst, e.g., something like-
# Token is sent with form. my $token = md5_hex(join("",sort $row->get_columns)); if ( $token eq $c->request->body_params->{token} ) { # Record hasn't been updated by anyone since the form was loaded. # Continue with edit/update... } else { # Warn about edit collision, pretty format diffs/choices # with Algorithm::Diff/Algorithm::Diff::Apply. }
As far as modperl, your deployment options will be limited. Unless you have an actual need of deep hooks in the request cycle + apache, there are "better" options today; nginx or lighttpd with Starman for example. I'd encourage you, strongly, to checkout Plack and the various web app frameworks like Catalyst, Dancer, and several other new ones.
Update: fixed syntax error in dummy code.
In reply to Re: How to deal with data race issues with Perl?
by Your Mother
in thread How to deal with data race issues with Perl?
by halfbaked
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |