自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 730

原创 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 656

原创 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 2416

原创 centos新建用户

useradd -d 主目录 -m 用户名 (公司/home目录不够用)passwd 用户名userdel 用户名 删除用户./configure --prefix=/usr/feixiaohui/pythonmakemake install设置环境变量:PATH=$PATH:$HOME/binexport PATH...

2018-03-19 15:10:55 361

原创 mac远程连接Windows电脑 执行bat脚本

第一次接触Linux远程执行Windows脚本,刚开始国内相当多的资料一大批其实都是Windows作为远程执行其它机器的。后来接触pywinrm这个开源框架,又想想ansible的一个控制Windows的情况,好像是可以实现的。其是后来看看两者都借助winrm这个模块而已。Requirements:参考这个地址:点击打开链接 虽然它提到的是ansible,但是我觉得非常讲的不错。Windows需要...

2018-03-03 17:00:36 2731

原创 捕获异常

今天发现一个问题:try: ***except Exception,e: return e有同事这么写关于捕获异常的东西。但是其问题在于,如果真的出错了,而你没有去使用这个返回结果。它就不会提示异常。最好还是建议打印e这种方法。。

2018-02-07 11:24:42 219

原创 python进程变为守护者进程

网上看到不少关于把Python普通进程编程守护者进程的例子。但是,鉴于时间有限和我本人小白一枚就不做深入研究了。但是我发现Python有这个python-daemon这个模块。哈哈!地址:https://pypi.python.org/pypi/python-daemon/根据这张图我们可以看出已经给出了详细的使用方法:于是我把它拿去用我的apscheduler:# cod

2018-01-26 10:51:01 405

原创 非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 5552

原创 ansible初次试探

作为Python运维开发人员,老早就注意了ansible,saltstack。以前专门去买腾讯云的机器来研究saltstack。现在是免费领取了华为的云机器来研究。忧伤~使用ansible 2.4版本的,其它老版本不适合这种情况哦!把主控端A的公钥发送给被控端B :sudo ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

2018-01-19 15:18:06 498

转载 回调函数

在用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 237

原创 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 1764

原创 apscheduler 无法删除job

一个好奇怪的问题,就是无法删除job 原因:我用BackgroundScheduler生成的job,存储在MySQL里,后来我用BlockingScheduler对它进行remove操作的时候,没反应,且在跑任务!但是用BlockingScheduler添加同一样的job的时候,它又报错说数据库里有同样id的job。结果:这就奇怪了。为什么BackgroundScheduler添加的job不能被B

2017-12-25 12:03:41 5117 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 5648 1

原创 Python作用域问题

https://segmentfault.com/q/1010000007541014?_ea=1376960突然发现Python作用域问题,Python作用域范围有模块,类,函数。for语句中的变量即便退出for循环也还能使用,与Java有点不同!上述链接讲解的非常不错!

2017-12-07 10:16:24 199

原创 apscheduler

问题一:如何在Django服务开始时启动定时任务 在Django中准备使用APscheduler,最开始在wsgi模块里面开始一个from apscheduler.schedulers.background import BackgroundSchedulerscheduler = BackgroundScheduler()让Django在服务启动的时候就能产生scheduler

2017-12-04 15:30:39 1900 1

转载 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 208

原创 django 使用中间件 访问request里面的内容

博主要做一个记录请求api日志的事情。声明:本文指定Django版本为1.8,其它版本实现方式自己网上搜!方法一 Nginx记录请求和响应 我最初用Nginx实现过能记录请求的信息(已经实现,记录的日志写在文件上),但是要Nginx需要其它Linux软件才能实现记录响应信息!如果你的机器不能联网,没有yum等,或者我特么就是讨厌手动安装软件在Linux机器上! please skip!方法二 项

2017-11-21 16:47:24 6466 1

原创 nginx修改配置文件

nginx修改配置文件 1 保存文件后,./nginx -t 测试修改是否通过 2./nginx -s reload 重新启动Nginx

2017-11-20 14:58:07 2637

原创 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 6326

原创 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 2300

原创 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 255

原创 salt 基本认识

1安装saltstack的master和minion步骤不用多说了 官网的步骤是这样的: 大概的意思是先下载master,然后要在minion中配置master的地址,然后下载minion ,最后接受minion发过来的minion keys 不过我不是用bootstrap script下载,我是直接用yum安装的! saltstack官网的document非常好! 2

2017-11-03 10:24:01 1225

原创 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 430

原创 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 2219

转载 Django为什么用uWSGI+Nginx

这两天在用Django做个人博客网站,做起来非常顺手,已经在测试环境中完成了留言板的功能,想着在加上个管理博客和博客编辑的功能就大致可以发布出去了,然后就发现教程中有个服务器部署的环节uWSGI+Nginx,我就郁了闷了,本地不是有个WSGI吗,照样可以运行啊,不解,求解!uWSGI是一个web服务器,也可以当做中间件如果是Nginx+uWSGI+APP,那就是一个中间件 如果是uWSGI+AP

2017-10-23 16:22:09 672

原创 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 286

原创 paramiko python

很早之前,用Python操作执行shell脚本,拷贝shell脚本到远程主机去等等都是通过Python开启一个线程,然后执行shell脚本,还有就是shell脚本里面操作scp操作! 今天尝试着用paramiko这种模块,实现了基本的执行shell脚本,拷贝shell脚本!各位,不好意思,我是在内网写的!总结:用paramiko基本能代替开启线程执行shell脚本。建议用这个!

2017-10-19 10:45:53 253

原创 django 启动后老是自动重启

在启动一个两个Django服务后:python manage.py runserver ...:9999(另外一个端口是9998)后,Django服务老是会自动重启,这是两个完全不同的工程。一方启动没影响,但是都启动之后就会导致两者会老是自动重启解决办法: python manage.py runserver –noreload 9999 官网对它的描述 –noreload¶ Disables

2017-10-16 09:39:26 3065

原创 mongodb根据objectid修改

如果想用Python根据ObjectId修改数据,而且使用ObjectId进行修改,代码如下:from bson.objectid import ObjectIdcolleciton.update({"_id":ObjectId('59d726c819292b0355c45e28')},{"$set":{"Level":"5"}})

2017-10-10 17:08:26 5040

原创 记录一个问题

在写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 232

原创 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 1445

转载 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 755

原创 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 335

原创 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 2672

转载 gevent调度流程解析

鉴于文章太好,于是转载了,转载出处:http://www.cnblogs.com/xybaby/p/6370799.html#_label_1

2017-09-17 15:41:52 416

原创 celery heart-beat

刚开始,我以为在celery配置文件中配置的BROKER_HEARTBEAT这个参数是指worker和rabbitmq的心跳都为十秒,不过后来测试才发现,只有rabbitmq才会在十秒后收不到对方反应,就会将与celery的TCP连接给断开,而worker的TCP并无反应,直到过了十几分钟worker才意识到连不上rabbitmq了。 很奇怪! 后来查资料才知道,rabbitmq的心跳机制是在a

2017-09-11 16:26:30 4731

转载 在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 2112

原创 celery task任务在redis存储有乱码

celery的task任务结果在redis存储的时候有乱码显示。其原因具体不清楚,可以参考: https://segmentfault.com/q/1010000007019424?_ea=1210488貌似,无法改变redis里面存储的东西,用Python的pickle就可以pickle.loads(“所谓的乱码”) 输出就可以了

2017-08-28 18:04:51 1490 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 2161 1

原创 celery message priority

有一个需求,就是同一个队列中的消息使用有优先级,如何保证,优先级高的消息先消费,消费完后且task跑完后,再继续拿取消息后消费。。 实现前提: 1 worker中的task任务是这样的,一个父进程,多个子进程,父进程是分配task任务,而子进程则才是执行task任务。默认的子进程个数是机器cpu核数(不太懂核数这个概念,反正百度搜一把感觉就是那样) 2celery需要配置CELERY_ACKS

2017-08-17 10:42:07 625

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除