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 相关文章推荐
Python与R语言的简要对比
Nov 14 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
PYTHON基础-时间日期处理小结
May 05 Python
Python数据分析matplotlib设置多个子图的间距方法
Aug 03 Python
Windows下PyCharm安装图文教程
Aug 27 Python
Python初学者常见错误详解
Jul 02 Python
python多线程与多进程及其区别详解
Aug 08 Python
python字典的遍历3种方法详解
Aug 10 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Tensorflow 实现释放内存
Feb 03 Python
python自动点赞功能的实现思路
Feb 26 Python
python 三边测量定位的实现代码
Apr 22 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/25 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python导入模块时遇到的错误分析
2017/08/30 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
Python如何实现单例模式
2016/06/03 面试题
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
创业计划书之面包店
2019/09/17 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技