[Ur] interfacing with C or other languages - example system
Marc Weber
marco-oweber at gmx.de
Mon Nov 29 14:43:19 EST 2010
> optimistic SQL concurrency violation
Maybe you can use pessimistic locking or such. Then the database is more
likely to block rather than rollback (?)
> No minimum heap setting yet. This also wouldn't get around SQL
> concurrency failures.
You don't get around them anyway. I know that I can't prevent all
reasons for restarting. But I can try to minimize them.
Having a project option setting the "minimum heap size" seems to be
a way to reduce some risks of restarting.
> This would be extra complexity and a new performance hit with no
> observable benefit for almost all cases, so I'm inclined against it.
Ok. I don't see such a huge performance overhead. The overhead will be
evaluating one cheap condition compared to restarting. But I agree that
its not worth the effort.
Anyway: How do you think about adding a minimum heap size option?
Probably I can do so myself when needed.
About the traces I was wrong: You could use uw_register_transactional
and use a rollback callback to trace something.
Anyway: Those are the use cases for Process.exec:
run a php or ruby script and insert something into a database without
having to code C.
so you can do:
ok <- Process.exec "verify-pay-confirm options"
and put all the ugly caching into verify-pay-confirm and be done.
Se next thing to be done is writing JSON encoding / decoding so that you
can pass data easily.
Eg
json <- JSON.parse "string"
switch type (json) of
dict ->
list ->
int ->
...
Marc Weber
More information about the Ur
mailing list