那年那日那朵花

".......(o´ω`o)......"

标签: python

十一加班,发现之前用python脚本每天导的数据作的图不对劲,感觉好像有的数据貌似没有导完整。后来查问题,发现原因应该就是脚本定时跑的时候正好赶上elasticsearch在做GC的时候stop-the-world了。。。。。es这玩意GC又把握不准的,至多调大点HEAP_SIZE,减少GC频率,但依然有可能碰巧遇到数据导到一半es触发GC了。想了半天,结果其实有个相当简单的办法,之前没想到。其实只要把buik导数据的timeout调大就可以了,因为es的GC时间不长,等等其实就过去了...

之前使用logstash和filebeat收集日志到elasticsearch确实很方便,但是感觉不够灵活,而且要根据情况更改不同的配置,调试后又发现种种原因达不到要的效果。俗话说自己动手丰衣足食,所以干脆就尝试着自己写导入elasticsearch的脚本程序,现在就记录下遇到的一些问题和解决方法。

第一个问题是怎么将信息传到elasticsearch里面,elasticsearch是提供了RestfulAPI的,所以可以通过http PUT请求的方式将信息传入elasticsear...

python中的正则匹配模块re中的re.search和re.match是有区别的。

  • re.search 会扫描整个字符串,直到匹配到一个符合条件的结果。
  • re.match 只会从字符串的开始位置扫描,如果起始位置不符合正则表达式就返回空。

所以当用到'$'匹配行尾的时候要注意了,如果用re.match的时候不指定行首的话是匹配不到的。

以下代码为例

#!/usr/bin/env python
#_*_ ...

很简短的,supervisor是管理前台服务的,他不能用来管理后台守护进程。所以用supervisor管理gunicorn的时候,gunicorn的配置文件中一定要配daemon = False!!,如果配置daemon = True的话supervisor启动就会报错。所以但凡用supervisor管理的话,需要将守护进程模式改掉。

另外,如果在supervisor中配置了include项目,每次修改include其中的项目时,不需要重新启动supervisor,可以采用/usr/...

Cloudhu 个人随笔|built by django|

沪ICP备16019452号-1