# pip3 install python-jenkins 不是 jenkins
import jenkins
#定义远程的jenkins master server的url,以及port
jenkins_server_url='xxxx:xxxx'
#定义用户的User Id 和 API Token,获取方式同上文
user_id='xxxx'
api_token='xxxx'
#实例化jenkins对象,连接远程的jenkins master server
server=jenkins.Jenkins(jenkins_server_u
分类目录归档:开发笔记
为何top或者ps看到的java进程的内存比Xmx高
启动参数中设置了最大堆内存为3000M,运行一段时间后在通过top或者ps -aux看到相应的java.exe进程占用了3452M内存,而应用没有OOM,运行一切正常。
排除真正应用泄露内存之外,99%情况下是JVM正常情况。
使用的最大内存 = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss]
JVM还需要一些空间,用于以下原因:
1)垃圾收集
2)JIT优化
3)堆外分配
4)JNI代码
5)元空间
JVM参数如下:
-Xmx 设置JVM最大可用内存为3000m
-Xms 设置JVM初始内存为1000m
-Xmn 设置
shell命令(脚本)一些小技巧(持续更新)
1、find文件并进行清空操作
find /webapp -type f -name 'stdout.log' | xargs -I {} sh -c '> {}'
2、杀掉查找的进程
ps -ef|grep 'Seeyon/abc' |grep -v grep |awk '{print $2}' |xargs kill -9
3、find命令来删除以特殊字符命名的文件和文件夹
ls -i命令查看inode值
find ./* -inum inode值 -exec rm -i {} \;
4、find文件
php出现空白页面的解决办法
很多第三方的应用是使用php开发的,当部署完成后发现出现空白的页面。
比如今天迁移老的禅道系统,发现部分页面无法访问。搭建的环境都是一致的,都是tengine+php-fpm+mysql,版本都是一致的。源代码和数据库数据全部正确迁移无误。
百思不得其解????空白的页面又无法得到错误的信息,所有的日志中都不显示错误。
百度了很多办法:
一、通过配置 php.ini 中的参数设置php的报错级别
display_error=On
error_reporting = e_all 并指定error_log
二、php.ini将short_open_tag改成on
三、修改nginx配置
inclu
python3开发笔记
1、异常打印主要信息
print('%s:%s 网络连接失败: %s!' %(service_ip, service_port, e.str()))
2、获取本文件所在目录的本地绝对路径
THIS_PATH = os.path.dirname(file)
3、简化版判断对象是否为空 if not X;
当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同。
吐槽一下ansible2.0
ansible1.9:官方“it's pretty simple”,真是又pretty又simple。
import ansible.runner
runner = ansible.runner.Runner(
module_name='ping',
module_args='',
pattern='web*',
forks=10
)
datastructure = runner.run()
ansible2.0:官方“a bit more complicated”,复杂何止一点???
ansible2.0更
vim使用的几点小小技巧
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
批量注释:
方法一:查找替换法
:开始行号,结束行号s#^#//#g
方法二:列编辑法
- ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来
- 然后按大写的I(shift+i)
- 再插入注释符,比如"//",再按Esc退出列编辑模式
pip3的国内安装源
方案一:临时指定安装源
1、阿里云
pip3 install -i https://mirrors.aliyun.com/pypi/simple
2、豆瓣源
pip3 install -i https://pypi.douban.com/simple requests
其他国内源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinu
Python Flask中获取原始的POST正文
无论Content-Type标题如何,都可以在Python Flask中获取原始的POST正文
使用 request.get_data()获取原始数据,而不管内容类型。
数据被缓存,随后可以访问 request.data , request.json ,请求如果你先访问 request.data ,它将会自动完成。
调用带有参数的 get_data 来首先解析表单数据。
如果请求具有表单内容类型(multipart/form-data , application/x-www-form-urlencoded ,或 application/x-url-encoded),那么原始数
分布式高并发环境下的幂等控制
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。
在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。
在我们的讨论的场景下指,客户端在通过同步服务调用或者异步消息与服务端交互而没有达到预期结果时,可能会进行多次交互,服务端为避免多次重复地处理而对服务资源产生地不良影响,必须要对同一请求的多次调用进行幂等控制。
业务开发中,经常会遇到重复提交的情况,无论是由于网络问题无法收到请求结果而重新发起请求,或者是服务端系统响应慢地情况。