小编bee*_*vee的帖子

基于成功率填充的 stat_bin2d

我有一个包含以下数据的表:

> head(sweet)
  interval  urgency success
1     3138      761       1
2     3210     2189       1
3     3243     1256       1
4     8776      823       1
5     3094     1405       1
6     3137     1062       1
Run Code Online (Sandbox Code Playgroud)

成功取值为 0 和 1。我正在寻找不同紧迫性值的成功率,因此我绘制了这样的直方图:

ggplot(sweet, aes(x=urgency, fill=success==0)) + geom_histogram(position='fill')
Run Code Online (Sandbox Code Playgroud)

情节1

现在我想看看紧急和间隔组合的成功率,但类似的方法无济于事:

ggplot(sweet, aes(x=urgency, y=interval, fill=success==0)) + geom_bin2d()
Run Code Online (Sandbox Code Playgroud)

情节2

有没有办法让填充连续显示成功/失败的比率,而不是在 2d bin plot 上显示无用的二进制值?

plot r histogram ggplot2

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

MongoReplicaSetClient 不会在芹菜工人中重新连接

我使用 Celery 3.0.15 和 MongoDB 2.4.4 副本集作为后端(pymongo 版本 2.5.1)。我还使用相同的副本集作为主应用程序数据存储:

CELERY_CONFIG = {
    'BROKER_URL': 'mongodb://localhost:27017,localhost:27018,localhost:27019/',
    'BROKER_TRANSPORT_OPTIONS': {
        'replicaSet': 'test'
    }
}

...

conn = MongoReplicaSetClient(
    'localhost:27017,localhost:27018,localhost:27019', 
    replicaSet='test'
)
Run Code Online (Sandbox Code Playgroud)

我可以启动一些工作程序并使用此conn实例从 celery 任务中的代码访问数据库。

如果Mongo Primary关闭并重新选举,Celery Worker会自动重新连接到新配置。但是,无论我进行了多少次重试以及等待多长时间,所有后续查询都会conn返回AutoReconnect异常。

分离代理和主数据库的副本集并不能解决问题:worker 仍然正常重新连接,但我无法从使用相同 MongoReplicaSetClient 的任务访问 mongo。

更新

解决问题conn.refresh()后手动调用AutoReconnectMonitorThread在这种情况下似乎无法正常工作。

mongodb celery pymongo

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

标签 统计

celery ×1

ggplot2 ×1

histogram ×1

mongodb ×1

plot ×1

pymongo ×1

r ×1