小编Vai*_*hek的帖子

Mongo maxTimeMS做得不好.

  • 在我的理解中,当查询超过它的分配时间时,maxTimeMS应该立即终止查询(+ - 2,3秒).但是,mongo并没有立即查询并占用太多时间.

  • 输出currentOp()之后可以看到这一点

{"inprog":[{"opid":176078308,"active":true,"secs_running":105,"op":"query","ns":"xxx","query":{"aggregate": "推文","管道":[{"$ match":{"gTs":{"$ lte":ISODate("2014-07-25T22:00:00Z"),"$ gte":ISODate("2014 -07-20T21:00:00Z")},"RE_H":{"$ in":[NumberLong("884327843395156951")]}}},{"$ match":{"$ and":[{"l ":{"$ in":["bandra","mumbai","thane","bombay","mahim"]}},{"ts":{"$ lte":ISODate("2014-07- 25T21:16:00Z"),"$ gte":ISODate("2014-07-20T21:16:00Z")}}]}},{"$ project":{"!" :1,"s":1,"nR":1,"ts":1}}],"光标":{

            },
            "maxTimeMS" : 60000
        },
        "client" : "xxx.xxx.xxx.xxx",
        "desc" : "conn56556",
        "threadId" : "0x7f96e1cf6700",
        "connectionId" : 56556,
        "waitingForLock" : false,
        "numYields" : 4111,
        "lockStats" : {
            "timeLockedMicros" : {
                "r" : NumberLong(16472467),
                "w" : NumberLong(0)
            },
            "timeAcquiringMicros" : {
                "r" : NumberLong(106194),
                "w" : NumberLong(0)
            }
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

}

  • 此查询的maxTimeMS为60秒(60,000毫秒),持续105秒.在我看来,这太荒谬了.Mongo在60秒内不应超过2,3秒才能杀死它.

  • 有人可以确认这是否是Mongo的预期行为?

mongodb

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

通过请求模块发送JSON并使用bottle.py和cherrypy捕获它

我有一台服务器需要能够接受JSON然后处理它然后再发送JSON.我服务器端的代码使用的是bottle.py和cherrypy.关注的路线如下:

@route ('/tagTweets', method='POST')
def tagTweets():

    response.content_type = 'application/json'

    # here I need to be able to parse JSON send along in this request.
Run Code Online (Sandbox Code Playgroud)

要请求此页面并测试功能,我正在使用请求模块代码:

我必须发送的数据是推文列表.数据本身是从某个服务器获取的,该服务器返回推文列表.对于获取推文,我正在使用requests.get然后使用响应对象的json方法.这工作正常.现在我经过一些处理,我必须发送这个json,就像我提取到另一台服务器.

url     = "http://localhost:8080/tagTweets"
data    = {'sender': 'Alice', 'receiver': 'Bob', 'message': 'We did it!'}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r       = requests.post(url, data=json.dumps(data), headers=headers)
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何获取访问请求的json发送.

python json cherrypy bottle python-requests

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

Python re.compile.不平衡的括号错误

我正在尝试编译一个正则表达式,以便能够r'#\w+'从推文中累积一系列hashtags().我希望能够编译两个正则表达式,可以从推文的开头和结尾处执行此操作.我使用的是python 272,我的代码是这样的.

HASHTAG_SEQ_REGEX_PATTERN           = r"""
(                                       #Outermost grouping to match overall regex
#\w+                                    #The hashtag matching. It's a valid combination of \w+
([:\s,]*#\w+)*                          #This is an optional (0 or more) sequence of hashtags separated by [\s,:]*
)                                       #Closing parenthesis of outermost grouping to match overall regex
"""

LEFT_HASHTAG_REGEX_SEQ      = re.compile('^' + HASHTAG_SEQ_REGEX_PATTERN , re.VERBOSE | re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)

当我正在编译正则表达式的行执行时,我收到以下错误:

sre_constants.error: unbalanced parenthesis
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我得到这个,因为我的正则表达式模式中没有不平衡的括号.

python regex

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

在ubuntu 14.04中无法理解Mongodb upstart('/etc/init.d/mongod')脚本

  • 我有一个运行ubuntu 14.04的mongo 2.6+安装,其中'sudo service mongod start/stop/restart'工作得很好.

  • 出于好奇,我开始在/etc/init.d中寻找mongod的'upstart'脚本,而且令我困惑的是,mongod的init脚本没有提及任何与mongo相关的活动.

  • /etc/init.d/mongod里面mongod的确切内容如下:

http://pastebin.com/qvNTx74M#

有人请帮助我了解这里发生了什么.

ubuntu upstart mongodb

0
推荐指数
1
解决办法
2677
查看次数

标签 统计

mongodb ×2

python ×2

bottle ×1

cherrypy ×1

json ×1

python-requests ×1

regex ×1

ubuntu ×1

upstart ×1