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生成验证码图片代码分享
Jan 28 Python
python运行时间的几种方法
Jun 17 Python
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
解决python打不开文件(文件不存在)的问题
Feb 18 Python
pytorch自定义初始化权重的方法
Aug 17 Python
python 经典数字滤波实例
Dec 16 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
Python 创建TCP服务器的方法
Jul 28 Python
python 模拟登陆163邮箱
Dec 15 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
基于Python测试程序是否有错误
2020/05/16 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
Python urllib3软件包的使用说明
2020/11/18 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
新年主持词
2014/03/27 职场文书
土建施工员岗位职责
2014/07/16 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
学生检讨书
2015/01/27 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
Python Matplotlib库实现画局部图
2021/11/17 Python
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL