Python写的一个定时重跑获取数据库数据


Posted in Python onDecember 28, 2016

做大数据的童鞋经常会写定时任务跑数据,由于任务之间的依赖(一般都是下游依赖上游的数据产出),所以经常会导致数据获取失败,因为很多人发现数据失败后

都会去查看日志,然后手动去执行自己的任务。下面我实现了一个自动重复执行去数据库取数,如果失败后自动重新去获取,直到把数据获取到。

建数据表:

CREATE TABLE `testtable` ( 2 `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 3 `name` varchar(20) NOT NULL, 4 PRIMARY KEY (`id`) 5 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

开始的时候数据表是空的,等到脚本重试第3秒的时候像数据库插入数据。

以下是python代码的实现

#!/usr/bin/env python
 #-*- coning:utf-8 -*- 3 4 import MySQLdb 5 from time import sleep 6 7 class GetData(object): 8 def __init__(self): 9 self.conn = '' 10 self.host = '127.0.0.1' 11 self.port = 3306 12 self.user = 'root' 13 self.passwd = '123456' 14 self.db = 'test' 15 self.cnum = 5 #set retry number 16 17 def init_connect(self): 18 self.conn = MySQLdb.connect(host=self.host, user=self.user, passwd=self.passwd, db=self.db, port=self.port, 19 charset='utf8') 20 21 def get_data(self): 22 self.init_connect 23 cur = self.conn.cursor 24 sql = "select * from testtable" 25 cur.execute(sql) 26 rs = cur.fetchall 27 cur.close 28 self.conn.close 29 return rs 30 31 def run(self): 32 count = 1 33 while (count <= self.cnum): 34 rs = self.get_data 35 if len(rs) > 0: 36 print len(rs) 37 break 38 39 print count 40 sleep(10) 41 count += 1 42 43 if __name__ == '__main__': 44 gd = GetData 45 gd.run

Python写的一个定时重跑获取数据库数据

自己可以手动执行,在代码执行到第3秒的时候,执行下面的sql

insert into testtable(`name`) values ('123'),('456'),('789'),('1111'),('3222'),('444');

下面是定时的任务的脚本

00 08 * * * cd /home/python/lsh_sync; python getdata.py >> getdata.log 2>&1

以上所述是小编给大家介绍的Python写的一个定时重跑获取数据库数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
Python实现的多进程和多线程功能示例
May 29 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
Python-openCV开运算实例
Jul 05 Python
Python logging模块进行封装实现原理解析
Aug 07 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
Python 实现文件的全备份和差异备份详解
Dec 27 #Python
Python Queue模块详细介绍及实例
Dec 27 #Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 #Python
Python 递归函数详解及实例
Dec 27 #Python
python实现二维码扫码自动登录淘宝
Dec 27 #Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 #Python
Python中如何获取类属性的列表
Dec 26 #Python
You might like
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
form自动提交实例讲解
2017/07/10 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
EsLint入门学习教程
2017/02/17 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
python对html代码进行escape编码的方法
2015/05/04 Python
Python 中 Meta Classes详解
2016/02/13 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
公司庆典邀请函范文
2014/01/13 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
质量管理标语
2014/06/12 职场文书
党的生日活动方案
2014/08/15 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
大学推普周活动总结
2015/05/07 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
结婚典礼致辞
2015/07/28 职场文书
2016新年致辞
2015/08/01 职场文书
物业公司管理制度
2015/08/05 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL