V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lvii  ›  全部回复第 4 页 / 共 5 页
回复总数  93
1  2  3  4  5  
2014-10-24 12:08:59 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@kebot 君,还没修好。。。
2014-10-24 11:58:50 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@can 君。好吧。我误解了。我说的是 「豆瓣音乐人」 的播放器
2014-10-23 17:53:40 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@can 简单点的话,从 http://music.douban.com/chart 里面,随便点首歌。就默认把歌曲添加到播放列表了。如果直接打开播放器连接,没有添加歌曲,是空白的。
2014-10-22 18:01:46 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@can 之前是正常的么?

空白播放器可能需要添加歌曲?
2014-10-21 23:21:33 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@kebot 兄,linux chromium 木有测试过。奈何是 ff 粉。木有装 chromium 等你捷报啊。

感激不尽。

那就再等两天,实在寂寞的不行,只能手机搞之。哈哈
2014-10-20 22:21:44 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
@loading 只好,已豆油,莫辜负了。。。
2014-10-20 20:54:36 +08:00
回复了 lvii 创建的主题 程序员 linux 下 firefox 加载不了 豆瓣音乐人 播放器,求验证
再 console 界面提示:“no flash, try with html audio”
这个错误的提示一直再累加。
已经安装 flash 插件的。播放 豆瓣专辑歌曲 和其他的视频类网站

![noflash][1]
[1]: http://img.vim-cn.com/af/e70820041e98bf20a30133f513d7a430606290.png



---
2014-08-13 17:27:00 +08:00
回复了 Livid 创建的主题 DevOps Datadog
@wzxjohn 有哪些其他的类似的监控服务呢?
2014-06-30 11:31:48 +08:00
回复了 lvii 创建的主题 Linux echo 'hello_world' > /dev/console 显示器输出,每行都会缩进
@ensonmj 如果使用 echo 可是指定 \r 有个开机执行的脚本,我使用 set -x 调试输出代码。

但调试的输出,没法指定 "\r" 还是出现奇怪的缩进。
2014-06-30 11:15:09 +08:00
回复了 lvii 创建的主题 Linux echo 'hello_world' > /dev/console 显示器输出,每行都会缩进
@coolicer >> 追加重定向,不行。

@ensonmj 兄,赞,这个管用。谢谢了!
囧rz 美团的是 java 。。。看错了。。。
后端貌似是 java 。sa 可以 remote 么?
2013-07-15 13:59:03 +08:00
回复了 lvii 创建的主题 Python python 如何并发采集设备信息
@timonwong 兄,这7个 OID 中,前 6个都是毫秒级别,最后一个 OID 耗时 2s
因为这个 OID 需要遍历设备的所有信息,我需要的是其中的一段。

about 1:
@timonwong 兄,gevent.spawn() 开启的是一个线程?
我不知道怎么把对 7个 OID 的请求封装在一个线程里面。
net-snmp.snmpwalk() 方法每次只能调用一个 OID 不能批量一次性调用多个 OID

about 2:
我想如果买个设备的信息采集可以控制在 2.4s 并且每个设备可以并行采集是没问题的。
我 joinall() 的目的是要获取执行的返回结果,不然我后面的格式化数据和保存数据的逻辑
没法写了。

起始我想要的模型:

采集设备1 (7个OID) 2.4s 返回结果,保存到字典
采集设备2 (7个OID) 2.4s 返回结果,保存到字典
...
采集设备n (7个OID) 2.4s 返回结果,保存到字典

如果上面的采集,可以并行异步进行:

最短时间 = 单台采集时间 + for轮循时间

@heqing 兄,一台设备平均 2.4s
2013-07-15 10:55:14 +08:00
回复了 lvii 创建的主题 Python python 如何并发采集设备信息
v2ex 代码格式有问题,我代码贴到这里了:http://ix.io/6F5
2013-07-15 10:54:00 +08:00
回复了 lvii 创建的主题 Python python 如何并发采集设备信息
各位兄台,我的需求是这样的:

1. 一共有 100 多台设备,需要每隔 10s 获取一遍信息
2. 主动监控,因为要监控的设备没法编程,不支持 SNMP 的 trap,只支持 snmpwalk 获取 OID 信息
3. 每个设备获取 7 个 OID 信息,其中最后一个最耗时,需要 2.2~2.4s 左右
4. 将返回的信息格式化一下,插入 mysql 数据库

所以,@likuku @timonwon 兄,被动监控,没法搞啊

我用 gevent 模块测试了一下获取一台机器的信息:

oid_list=['.1.3.6.1.4.1.30966.4.2.1.22',
'.1.3.6.1.4.1.30966.4.2.1.23',
'.1.3.6.1.4.1.30966.4.2.1.24',
'.1.3.6.1.4.1.30966.4.2.1.25',
'.1.3.6.1.4.1.30966.4.2.1.7',
'.1.3.6.1.4.1.30966.4.2.1.13',
'.1.3.6.1.4.1.30966.4.2.1.1' ]

def get_snmp_info(oid,ip):
'''
net-snmp 官方 python 接口:
http://www.net-snmp.org/wiki/index.php/Python_Bindings
https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp/python/README
'''
return netsnmp.snmpwalk(oid, Version=2, DestHost=ip, Community="public")

start_time=time.time()
threads = []

for oid_text in oid_list:
threads.append(gevent.spawn(get_snmp_info,oid_text,desthost))
gevent.run()
#gevent.joinall(threads)

print time.time()-start_time


问题:

耗时:0.000214099884033

>>> threads[0].value ## spawn() 后,函数并没有在后台执行,没法获取返回值
>>> threads[0].run() ## 需要手动调用 run() 方法进行执行
>>> threads[0].value
('23',)

gevent.spawn() 的 thread 没有执行,需要手动调用 threads[x].run() 方法来触发
这样又和取消 #gevent.joinall(threads) 的注释,效果一样了,不是异步的模式
和同步模式没有区别

耗时:4.58578181267
测试 2台设备 gevent.joinall(threads) 耗时 4.5s 这样子如果并发采集 100
多台,时间不够用

gevent.joinall() 手册描述:gevent.joinall() waits for them to complete
使用 joinall() 方法,就要等待所有的 spawn 的调用都执行完,这种等待是不是一种阻塞
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3518 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
Developed with CodeLauncher
♥ Do have faith in what you're doing.