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基础教程之数字处理(math)模块详解
Mar 25 Python
Python入门篇之条件、循环
Oct 17 Python
和孩子一起学习python之变量命名规则
May 27 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
详解django2中关于时间处理策略
Mar 06 Python
python递归下载文件夹下所有文件
Aug 31 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 Python
python用Configobj模块读取配置文件
Sep 26 Python
python 基于opencv去除图片阴影
Jan 26 Python
python在协程中增加任务实例操作
Feb 28 Python
总结几个非常实用的Python库
Jun 26 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 操作excel文件的方法小结
2009/12/31 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
Javascript的匿名函数小结
2009/12/31 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
Bootstrap模态框使用详解
2017/02/15 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
如何定义TensorFlow输入节点
2020/01/23 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
通过自学python能找到工作吗
2020/06/21 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
python定义类的简单用法
2020/07/24 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
寒假思想汇报
2014/01/10 职场文书
优秀经理事迹材料
2014/02/01 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
同学聚会主持词
2014/03/18 职场文书
委托公证书范本
2014/04/03 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python