Ariel Girón <
ariel...@gmail.com> wrote:
> `step': database is locked (SQLite3::BusyException)
I normally use immediate transactions and busy_timeout=5000
(5 seconds, the Sequel default) to avoid these errors.
But there's nothing in your script which would indicate there's
concurrent access (unless you have another forgotten process
running).
I can't reproduce the error, either.
Does setting the busy_timeout help?
db = SQLite3::Database.new "test.db"
db.busy_timeout = 5000
<rest of your script>
Otherwise, it might help to provide an strace dump if you're
running under Linux. Something along the lines of:
strace -f -o dump.txt -v ruby test.rb
and show us the relevant contents of dump.txt leading up to the
failure (be sure to filter out any potentially sensitive info
from that file)