阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

celery 4.1.0 版本定时任务执行时间 bug2017-12-27 16:15

**为什么使用celery代替crontab?**

关于celery,他是一个分布式的任务队列。

项目中有较多的定时任务,开始是用crontab实现的,考虑到未来的拓展和管理,决定使用celery的beat来实现定时任务。

虽然对于简单的周期性定时任务使用crontab就能做到,但是一旦需要处理的任务变多需要分布式处理时crontab不便于管理。

celery通过消息队列来实现分布式可以保证定时任务不被重复执行,消息队列已经为你自动实现了同步机制。例外也可以打破crontab的每分钟才执行一次的速度限制,只要有任务消息到来我就能处理,可以使任务更加高效的被执行。使用消息

......
#Python#   评论[0]阅读全文[84]

使用nginx-lua修改influxdb API的返回结构2017-12-13 19:05

有一个API平台服务,所有接口都通过API平台转发到实际的服务上,然后再把实际服务的结果返回给客户端,API平台的规范是所有实际服务的接口返回都要统一结构为

:::json
{
"code": 0,
"msg": "",
"data": {}
}

否则无法处理,现在使用influxdb提供的api,他的返回结构并不是API平台需要的结构,所以需要做一层代理转发请求并修改返回结果为API平台需要的结构。

采用openresty来实现这个需求,只需安装好openresty,然后编写一个配置文件即可实

......
#Linux/Mac#   #nginx 评论[0]阅读全文[112]

记一次系统性能bug排查2017-11-23 17:34

在客户的环境中,我们的代码表现为twisted封装的http接口处理web请求忽快忽慢。客户反映一个页面上有获取绘图数据的请求,一页在一个屏幕上大概显示九个图,每次打开页面总有几个图一直在加载,刷新页面后之前没加载出来的出来了但是其他原本正常的又变成加载中了,而且要很慢才会返回结果,其他接口也类似这种情况,但是没有大的并发量也没有太大的数据量的环境莫名其妙的运行了几天就变成这样了。

项目是起了twistd三个进程分别跑在`127.0.0.1:8001`, `127.0.0.1:8002`, `127.0.0.1:8003`,然后用nginx代理的,查看nginx的log,可以看到很多

......
#Python#   评论[1]阅读全文[88]

[转]Linux 技巧:让进程在后台可靠运行的几种方法2017-11-21 19:34

原文地址:

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

#### nohup/setsid/&

**场景:**

如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?

hangup 名称的来由

在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,mod

......
#Linux/Mac#   评论[0]阅读全文[162]

Flask中日志按照日志级别分开保存到不同文件2017-11-21 19:17

目标是想让代码中的日志按照不同的级别保存到不同的文件,即不管是框架本身的debug日志还是我们自己写的debug日志都保存到debug.log,info日志都保存在info.log,以此类推。

如果是为不同级别设置不同的logger,每个logger对应不同的文件handler,然后封装自己的日志函数调用对应的logger来记录日志确实是可以记录到不同的文件,但是这样只能记录自己代码中打的log而不会记录flask框架打印的log,因为框架使用的logger名称和我们使用的logger不一样,要达到我们的目标不能在logger上做处理,应该对和框架同一个logger上的handler做处

......
#Python#   #flask 评论[0]阅读全文[181]

贵阳行程计划2017-07-13 18:18

07-14: 购买车上要吃的午饭和晚饭。

07-15: HOME(08:00) -> 深圳北 -> 广州南 -> 贵阳北 -> 奥体中心五月天演唱会(19:00入场) -> 世纪城W组团1号楼1层4号 尚客青年酒店

09:50-10:26 11:49-17:29

COMMENT:

高铁会路过阳朔,风景不错。

![](http://blogpostpics.qiniudn.com/2017_07_20_11_12_03.jpeg)

![](http://blogpostpics.qiniudn.com/2017

......
#个人日记#   评论[5]阅读全文[378]

桂林行程计划2017-07-13 16:17

五一节计划的桂林4日游行程+完事后的COMMENT。说走就走真的不容易。

#### line1->line5->深圳北

27d 07:30前必须出门

#### 深圳北->桂林北->龙脊梯田

27d 09:04从深圳北出发到广州南换乘,10:12从广州南出发12:50到达桂林北。坐100路到桂林站(一个小时左右)新凯悦酒店或香江饭店附近14:30左右上车 入住龙胜龙脊景园山庄

COMMENT: 入住安排勉强可以,山上很多住宿,可以再往景点走些,道路曲折,尽快打电话让人出来带路

![](http://wx3.sinaimg.cn/large/67ac78c

......
#个人日记#   评论[0]阅读全文[320]

urllib2请求https的ssl验证报错2017-06-26 15:41

Python 2.7.9 之后,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书。

urllib2请求https时,报错:`urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed `

解决方案:

使用ssl创建未经验证的上下文,在urlopen中传入上下文参数

import ssl
import urllib2

context = ssl._create_un

......
#Python#   评论[0]阅读全文[698]