繁体   English   中英

ActiveRecord 异常中的“安全”是什么意思? ActiveRecord::StatementInvalid: [safely] SQLite3::BusyException: 数据库被锁定

[英]what does 'safely' mean in an ActiveRecord exception? ActiveRecord::StatementInvalid: [safely] SQLite3::BusyException: database is locked

我在 Rails 6 的生产环境中使用 sqlite3,但出现以下错误: ActiveRecord::StatementInvalid: [safely] SQLite3::BusyException: database is locked

我可以在 Rollbar 中看到错误,但在 log/production.log 中看不到它。

在这种情况下[safely]是什么意思? 这是否意味着 rails 设法在没有用户注意的情况下处理此错误(可能通过数据库超时)?

为什么我在 Rollbar 中看到这个错误,但在日志文件中没有?

我尝试在网上搜索解释并在 rails 代码中搜索,但无济于事 - 没有我能找到的“安全”解释。

在通过 Agile Rails 6 的第一次测试后发现此错误消息,我在这里找到的所有建议(将超时增加到 5000,使用控制台 -s命令等)都没有用

但是我在休息后第二次阅读这本书并得到一个旧应用程序(在 Ruby 2.6.6 中创建)进行比较,尽管使用相同的数据库 gems 和配置,但所有测试都通过了这里,所以我发现了两者之间的唯一区别他们

因此,转到test\\test_helper.rb并注释以“parallelize”开头的字符串

# parallelize(workers: :number_of_processors, with: :threads)

希望它有帮助,但是是的,也许选择另一个数据库是最好的选择

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM