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实用技巧两则
Aug 29 Python
Python入门_条件控制(详解)
May 16 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
python ddt数据驱动最简实例代码
Feb 22 Python
python binascii 进制转换实例
Jun 12 Python
python可视化爬虫界面之天气查询
Jul 03 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
Python实现结构体代码实例
Feb 10 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Python开发五子棋小游戏
Apr 28 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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 header()函数语法及使用代码
2013/11/04 PHP
php实现httpclient类示例
2014/04/08 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
重命名批处理python脚本
2013/04/05 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
2014中学教师节广播稿
2014/09/10 职场文书
助学贷款贫困证明
2014/09/23 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
工资证明格式模板
2015/06/12 职场文书
2016年记者节感言
2015/12/08 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript