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 and、or以及and-or语法总结
Apr 14 Python
在Python的Django框架中创建语言文件
Jul 27 Python
python实现web方式logview的方法
Aug 10 Python
Python实现字符串匹配算法代码示例
Dec 05 Python
python的socket编程入门
Jan 29 Python
python爬取酷狗音乐排行榜
Feb 20 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
Pytorch模型转onnx模型实例
Jan 15 Python
如何在 Django 模板中输出 &quot;{{&quot;
Jan 24 Python
Python日志syslog使用原理详解
Feb 18 Python
基于python获取本地时间并转换时间戳和日期格式
Oct 27 Python
python中filter,map,reduce的作用
Jun 10 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定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP中overload与override的区别
2017/02/13 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
python学生信息管理系统(完整版)
2020/04/05 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python实现猜拳游戏项目
2020/11/30 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
编写strcpy函数
2014/06/24 面试题
数据员岗位职责
2013/11/19 职场文书
电教室标语
2014/06/20 职场文书
授权收款委托书
2014/09/23 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
班主任经验交流材料
2014/12/16 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
python turtle绘图命令及案例
2021/11/23 Python