On Dec 22, 2010, at 6:32 PM, Mark Lawrence wrote: > On Wed Dec 22, 2010 at 04:44:28PM -0800, David E. Wheeler wrote: >> On Dec 22, 2010, at 3:30 PM, <ericbamba...@discover.com> wrote: >> >>> Maybe an obvious quesiton, but can you catch SQLITE_BUSY and just >>> loop and retry in your application code? Is there any reason not to >>> retry after a second or so? Such application retry logic is pretty >>> standard for transaction deadlock issues. >> >> I guess I could do that, but I'm going to have to do quite a bit of >> extra work to add the retry stuff. I might be able to use a lockfile, >> as well. >> >> I'm hating both of these solutions. > > I haven't used it, but there is an SQLite busy timeout value[1] (in ms) > that can be set to specify how long SQLite sleeps when access to a > table is (b)locked. > > The function to get/set that value is also exported via DBD::SQLite[2].
That was the second thing I tried. No joy. David