小编Dwi*_*jen的帖子

MongoDB随机挂起

总览

我有一个使用MongoDB作为数据库的红宝石应用程序。在为此应用程序运行测试时,我正在使用来为每个测试用例创建集合和索引Minitest

使用docker compose创建测试环境,其中一个容器正在运行测试,另一个容器正在运行MongoDB。

问题

第一次运行测试时,一段时间后,MongoDB被卡住了。查询集合的任何请求均不会响应。

在使用命令行客户端开始运行测试之前,我已经能够连接到它。当我使用检查服务器的状态时,db.serverStatus()我看到某些操作已获得锁。通过查看该globalLock字段,我了解到1个操作具有write锁定,并且有2个操作正在等待获取read锁定。

我不明白为什么这些操作会挂起而不产生锁。我不知道如何进一步调试此问题。

MongoDB版本:3.6.13 Ruby驱动程序版本:2.8.0

我也尝试过其他版本3.6.x和4.0

任何帮助或指导都将受到高度赞赏。

db.serverStatus输出

{
    "host" : "c658c885eb90",
    "version" : "3.6.14",
    "process" : "mongod",
    "pid" : NumberLong(1),
    "uptime" : 98,
    "uptimeMillis" : NumberLong(97909),
    "uptimeEstimate" : NumberLong(97),
    "localTime" : ISODate("2019-11-03T16:09:14.289Z"),
    "asserts" : {
        "regular" : 0,
        "warning" : 0,
        "msg" : 0,
        "user" : 0,
        "rollovers" : 0
    },
    "connections" : {
        "current" : 6,
        "available" : 838854,
        "totalCreated" : 11
    }, …
Run Code Online (Sandbox Code Playgroud)

ruby mongodb

5
推荐指数
0
解决办法
148
查看次数

Rails - ActiveAdmin 未在菜单中显示新资源

我在 Rails 4 和 Grape 中使用 ActiveAdmin。

我正在创建新的 AA 资源, rails g active_admin:resource ModelClassName 它过去可以正常工作。每个资源都显示为管理控制台中的菜单链接。

但是现在出于某种原因,对于我正在创建的新模型,Active Admin 没有在菜单中显示相同的资源。

任何导致这种情况发生的原因都会有很大帮助。

Ruby 版本 - 2.2.3

Rails 版本 - 4.2.4

活动管理版本 - 1.0.0

这是我的 GemFile

ruby '2.2.3'
gem 'rails', '4.2.4'
gem 'pg'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
# gem 'bcrypt', '~> 3.1.7'
# gem 'unicorn'
# gem 'capistrano-rails', group: :development

group :development, …
Run Code Online (Sandbox Code Playgroud)

ruby activeadmin ruby-on-rails-4

2
推荐指数
1
解决办法
1777
查看次数

标签 统计

ruby ×2

activeadmin ×1

mongodb ×1

ruby-on-rails-4 ×1