- 博客(108)
- 收藏
- 关注
原创 request下载gitlab工程文件
无奈公司gitlabAPI权限授权问题迟迟解决不了,于是就来模拟登陆了,上一篇就用的是selenium来登陆下载gitlab上的文件,但是比较臃肿,所以还是再次来用requests这个东西来解决吧。首先参考这个文章:https://yq.aliyun.com/articles/252128?spm=a2c4e.11155435.0.0.23ad75b5w4duc6后来发现在gitlab上不行,始终...
2018-03-27 11:39:58
811
原创 selenium Python
很久之前就听说过selenium,也用过当年的selenium1 remote control今天准备尝试从gitlab上下载文件到桌面,因为gitlabAPI授权问题,于是果断选用selenium了用的是selenium-3.11.0版本的,有些2点几的版本缺少一些API。用的是chrome,外加一个放在桌面的chrome驱动器然后代码如下:# coding:utf-8from seleniu...
2018-03-23 14:59:01
707
原创 python ssl
在oracle Linux上安装Python2.7.11 ,安装完后发现(网上各种解释的依赖都具备了)Python 2.7.11 (default, Mar 19 2018, 15:19:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2Type "help", "copyright", "credits" or "license" fo...
2018-03-19 15:24:38
2467
原创 centos新建用户
useradd -d 主目录 -m 用户名 (公司/home目录不够用)passwd 用户名userdel 用户名 删除用户./configure --prefix=/usr/feixiaohui/pythonmakemake install设置环境变量:PATH=$PATH:$HOME/binexport PATH...
2018-03-19 15:10:55
405
原创 mac远程连接Windows电脑 执行bat脚本
第一次接触Linux远程执行Windows脚本,刚开始国内相当多的资料一大批其实都是Windows作为远程执行其它机器的。后来接触pywinrm这个开源框架,又想想ansible的一个控制Windows的情况,好像是可以实现的。其是后来看看两者都借助winrm这个模块而已。Requirements:参考这个地址:点击打开链接 虽然它提到的是ansible,但是我觉得非常讲的不错。Windows需要...
2018-03-03 17:00:36
2880
原创 捕获异常
今天发现一个问题:try: ***except Exception,e: return e有同事这么写关于捕获异常的东西。但是其问题在于,如果真的出错了,而你没有去使用这个返回结果。它就不会提示异常。最好还是建议打印e这种方法。。
2018-02-07 11:24:42
378
原创 python进程变为守护者进程
网上看到不少关于把Python普通进程编程守护者进程的例子。但是,鉴于时间有限和我本人小白一枚就不做深入研究了。但是我发现Python有这个python-daemon这个模块。哈哈!地址:https://pypi.python.org/pypi/python-daemon/根据这张图我们可以看出已经给出了详细的使用方法:于是我把它拿去用我的apscheduler:# cod
2018-01-26 10:51:01
462
原创 非root用户安装rpm软件
今天要做在测试环境搭建apscheduler的环境。好不容易下好它的依赖,然后安装好,运行代码。发现这个测试环境没有postgresql的客户端。。尴尬!?于是去下载客户端的rpm包及其依赖包。在非root账户下使用命令:rpm2cpio ctags-5.8-2.el6.x86_64.rpm |cpio -idvm #解压这个rpm包到当前目录 ,会出现usr目录expor
2018-01-24 17:04:01
5692
原创 ansible初次试探
作为Python运维开发人员,老早就注意了ansible,saltstack。以前专门去买腾讯云的机器来研究saltstack。现在是免费领取了华为的云机器来研究。忧伤~使用ansible 2.4版本的,其它老版本不适合这种情况哦!把主控端A的公钥发送给被控端B :sudo ssh-copy-id -i ~/.ssh/id_rsa.pub root@122.112.230.158观
2018-01-19 15:18:06
533
转载 回调函数
在用apscheduler的时候。看到scheduler这个调度器会有回调函数的应用。比如:scheduler.add_listener(func,EVENTALL)等这样的回调。于是搜了一篇知乎上关于回调函数很好的解释。所以转载!转载来自:https://www.zhihu.com/question/19801131/answer/27459821作者:no.body链接:https://www
2018-01-18 09:43:16
270
原创 apscheduler interval
1 trigger = ‘interval’ , seconds = 10 如果job本身要执行20秒钟,那么如果设置max_instance =1 的话,则会导致每个job在执行20秒后,在等待10秒再去执行下一个job 假如mas_instance >1(设置得足够多),那么第一个job开始执行后10秒钟就会执行下一个job
2017-12-25 15:16:09
1812
原创 apscheduler 无法删除job
一个好奇怪的问题,就是无法删除job 原因:我用BackgroundScheduler生成的job,存储在MySQL里,后来我用BlockingScheduler对它进行remove操作的时候,没反应,且在跑任务!但是用BlockingScheduler添加同一样的job的时候,它又报错说数据库里有同样id的job。结果:这就奇怪了。为什么BackgroundScheduler添加的job不能被B
2017-12-25 12:03:41
5299
5
原创 apscheduler modify_job能否修改更多参数
想必你已经很苦恼了。 有一个需求实现每10秒钟写文件:def tick(): try: current_time = time.strftime('%Y%m%d %H:%M:%S', time.localtime(time.time())) print current_time file_object = open('insert_data'
2017-12-18 17:12:44
5913
1
原创 Python作用域问题
https://segmentfault.com/q/1010000007541014?_ea=1376960突然发现Python作用域问题,Python作用域范围有模块,类,函数。for语句中的变量即便退出for循环也还能使用,与Java有点不同!上述链接讲解的非常不错!
2017-12-07 10:16:24
225
原创 apscheduler
问题一:如何在Django服务开始时启动定时任务 在Django中准备使用APscheduler,最开始在wsgi模块里面开始一个from apscheduler.schedulers.background import BackgroundSchedulerscheduler = BackgroundScheduler()让Django在服务启动的时候就能产生scheduler
2017-12-04 15:30:39
1947
转载 50585505
[python] view plain copy import logging 创建一个loggerlogger = logging.getLogger(‘mylogger’) logger.setLevel(logging.DEBUG) 创建一个handler,用于写入日志文件fh = logging.FileHandler(‘test.log’) fh.setLevel(loggi
2017-11-24 16:19:06
236
原创 django 使用中间件 访问request里面的内容
博主要做一个记录请求api日志的事情。声明:本文指定Django版本为1.8,其它版本实现方式自己网上搜!方法一 Nginx记录请求和响应 我最初用Nginx实现过能记录请求的信息(已经实现,记录的日志写在文件上),但是要Nginx需要其它Linux软件才能实现记录响应信息!如果你的机器不能联网,没有yum等,或者我特么就是讨厌手动安装软件在Linux机器上! please skip!方法二 项
2017-11-21 16:47:24
6600
1
原创 nginx修改配置文件
nginx修改配置文件 1 保存文件后,./nginx -t 测试修改是否通过 2./nginx -s reload 重新启动Nginx
2017-11-20 14:58:07
2688
原创 Oracle 多个字段重复查询
–查询重复数据 select * from app_jf_value t1 where (t1.jfindcode, t1.areacode, t1.kpitype, t1.created_at) in (select jfindcode, areacode, kpitype, created_at
2017-11-08 15:24:54
6482
原创 tar.gz包解压失败
[root@master java]# tar -xvf jdk-8u45-linux-x64.tar.gzgzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now[root@master java]# file jdk-8u45-linux-x64
2017-11-07 15:29:45
2363
原创 saltstack grains
工作太特么不忙了,就去研究saltstack官网了 saltstack之grains: 查找所有的列表[root@master _grains]# salt '*' grains.lsfei: - SSDs - cab_u - cabinet - cpu_flags - cpu_model - cpuarch - deployment
2017-11-06 15:00:43
292
原创 salt 基本认识
1安装saltstack的master和minion步骤不用多说了 官网的步骤是这样的: 大概的意思是先下载master,然后要在minion中配置master的地址,然后下载minion ,最后接受minion发过来的minion keys 不过我不是用bootstrap script下载,我是直接用yum安装的! saltstack官网的document非常好! 2
2017-11-03 10:24:01
1285
原创 django uWSGI Nginx
一直都是用python manage.py runserver 这种Django自带的命令来开启一个服务器。有一次人家问我部署怎么办,我说用这个不行,然后被人家歧视了(我又不是运营人员,我咋知道)。然后开始弄django+uWSGI+nginx这套! 安装环境安装Django环境就不用说了安装uwsgi模块,我是用tar.gz包安装的 但是不是用python setup.py ins
2017-10-24 15:37:08
469
原创 docker删除镜像
1.停止所有的container,这样才能够删除其中的images:docker stop $(docker ps -a -q)如果想要删除所有container的话再加一个指令:docker rm $(docker ps -a -q)2.查看当前有些什么imagesdocker images3.删除images,通过image的id来指定删除谁docker rmi 想要删除untagged ima
2017-10-23 17:22:30
2267
转载 Django为什么用uWSGI+Nginx
这两天在用Django做个人博客网站,做起来非常顺手,已经在测试环境中完成了留言板的功能,想着在加上个管理博客和博客编辑的功能就大致可以发布出去了,然后就发现教程中有个服务器部署的环节uWSGI+Nginx,我就郁了闷了,本地不是有个WSGI吗,照样可以运行啊,不解,求解!uWSGI是一个web服务器,也可以当做中间件如果是Nginx+uWSGI+APP,那就是一个中间件 如果是uWSGI+AP
2017-10-23 16:22:09
699
原创 docker 总结
1在mac上安装好了docker后(docker有服务端和客户端概念,一般都是放在一起的,不知道可不可以分开)开始操作 2我用的docker hub是 daocloud的docker hub。 3docker pull 拉取一个镜像docker pull daocloud.io/library/python:2.7-alpinedocker images 查看拉取的镜像(以后自己再去做自己想
2017-10-22 15:50:35
317
原创 paramiko python
很早之前,用Python操作执行shell脚本,拷贝shell脚本到远程主机去等等都是通过Python开启一个线程,然后执行shell脚本,还有就是shell脚本里面操作scp操作! 今天尝试着用paramiko这种模块,实现了基本的执行shell脚本,拷贝shell脚本!各位,不好意思,我是在内网写的!总结:用paramiko基本能代替开启线程执行shell脚本。建议用这个!
2017-10-19 10:45:53
283
原创 django 启动后老是自动重启
在启动一个两个Django服务后:python manage.py runserver ...:9999(另外一个端口是9998)后,Django服务老是会自动重启,这是两个完全不同的工程。一方启动没影响,但是都启动之后就会导致两者会老是自动重启解决办法: python manage.py runserver –noreload 9999 官网对它的描述 –noreload¶ Disables
2017-10-16 09:39:26
3276
原创 mongodb根据objectid修改
如果想用Python根据ObjectId修改数据,而且使用ObjectId进行修改,代码如下:from bson.objectid import ObjectIdcolleciton.update({"_id":ObjectId('59d726c819292b0355c45e28')},{"$set":{"Level":"5"}})
2017-10-10 17:08:26
5157
原创 记录一个问题
在写sql传参的时候,写死一个中文字段,结果会报: ‘ascii’ codec can’t decode byte 0xe6 in position 152: ordinal not in range(128)后来想了一下 在代码前面 import sys reload(sys) sys.setdefaultencoding(“utf-8) 就可以了。具体原因下班再去解决!
2017-10-10 15:34:22
261
原创 mongodb 查询数据
如果在MongoDB shell中往demaxiya数据库插入数据,比如: db.demaxiya.insert({“gailun”:”德玛西亚人从不退缩”})db代表数据库demaxiya,db.demaxiya代表该数据库的collection是:demaxiya。要注意区分db和collection的区别假如你要查看demaxiya数据库下的collection有哪些,使用命令: use
2017-10-04 15:41:25
1507
转载 tcp keeplive
前段时间在解决celery和rabbitmq之间的TCP连接问题,今天刚好看到有关于TCP keeplive的东西,觉得非常棒,就记录下来。 摘抄来自http://www.firefoxbug.com/index.php/archives/2805/理解Keepalive(1)大家都听过keepalive,但是其实对于keepalive这个词还是很晦涩的,至少我一直都只知道一个大概,直到之前排查线
2017-09-26 13:42:42
837
原创 gevent
对于gevent本质概念不是很了解,虽然看过很多文章,似懂非懂!# coding=utf-8import geventimport urllib2import timedef fetch(pid, url): print('Process %s: %s start work' % (pid, url)) flag = None status = None err
2017-09-25 16:19:22
370
原创 python 模拟Http请求
先简单声明一下http请求中post和get之间一个简单的区别:GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则
2017-09-21 16:49:11
2756
转载 gevent调度流程解析
鉴于文章太好,于是转载了,转载出处:http://www.cnblogs.com/xybaby/p/6370799.html#_label_1
2017-09-17 15:41:52
443
原创 celery heart-beat
刚开始,我以为在celery配置文件中配置的BROKER_HEARTBEAT这个参数是指worker和rabbitmq的心跳都为十秒,不过后来测试才发现,只有rabbitmq才会在十秒后收不到对方反应,就会将与celery的TCP连接给断开,而worker的TCP并无反应,直到过了十几分钟worker才意识到连不上rabbitmq了。 很奇怪! 后来查资料才知道,rabbitmq的心跳机制是在a
2017-09-11 16:26:30
4970
转载 在Linux中Python为2.6下新建虚拟环境搭建Python2.7
由于使用公司服务器时没有root权限,只能把python安装到个人文件夹下,使用源码包方式安装,这里记录一下。1.python下载cd到目录/users/w,在此目录下安装python。通过wget命令下载python源码包:$ wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 2.解压python到当前目录$ tar zx
2017-08-31 19:32:34
2166
原创 celery task任务在redis存储有乱码
celery的task任务结果在redis存储的时候有乱码显示。其原因具体不清楚,可以参考: https://segmentfault.com/q/1010000007019424?_ea=1210488貌似,无法改变redis里面存储的东西,用Python的pickle就可以pickle.loads(“所谓的乱码”) 输出就可以了
2017-08-28 18:04:51
1570
1
原创 rabbitmq 网络中断
最近做了一个测试: 1rabbitmq为3.6版本 2用celery的worker1去消费消息的时候,让worker1的网络中断,猜想其它的worker2会有什么想法。 结果证明:网络中断2份半后,假如有其它worker存在,则会将消息置为ready,让其worker2消费该消息!rabbitmq默认会给worker1一个2分半时间的允许,待你网络中断后,rabbitmq依然能识别该消息被wo
2017-08-24 15:56:09
2234
1
原创 celery message priority
有一个需求,就是同一个队列中的消息使用有优先级,如何保证,优先级高的消息先消费,消费完后且task跑完后,再继续拿取消息后消费。。 实现前提: 1 worker中的task任务是这样的,一个父进程,多个子进程,父进程是分配task任务,而子进程则才是执行task任务。默认的子进程个数是机器cpu核数(不太懂核数这个概念,反正百度搜一把感觉就是那样) 2celery需要配置CELERY_ACKS
2017-08-17 10:42:07
683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人