• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python写的一个定时重跑获取数据库数据

Python写的一个定时重跑获取数据库数据

作者:mrr 字体:[增加 减小] 来源:互联网

mrr 通过本文主要向大家介绍了python 数据库,python连接数据库,python数据库编程,python操作数据库,python 数据库开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

做大数据的童鞋经常会写定时任务跑数据,由于任务之间的依赖(一般都是下游依赖上游的数据产出),所以经常会导致数据获取失败,因为很多人发现数据失败后

都会去查看日志,然后手动去执行自己的任务。下面我实现了一个自动重复执行去数据库取数,如果失败后自动重新去获取,直到把数据获取到。

建数据表:

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;
</div>

开始的时候数据表是空的,等到脚本重试第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
</div>

自己可以手动执行,在代码执行到第3秒的时候,执行下面的sql

insert into testtable(`name`) values ('123'),('456'),('789'),('1111'),('3222'),('444');
</div>

下面是定时的任务的脚本

00 08 * * * cd /home/python/lsh_sync; python getdata.py >> getdata.log 2>&1
</div>

以上所述是小编给大家介绍的Python写的一个定时重跑获取数据库数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>

您可能想查找下面的文章:

  • Python实现Mysql数据库连接池实例详解
  • Python实现Mysql数据库连接池实例详解
  • Python实现将数据库一键导出为Excel表格的实例
  • Python写的一个定时重跑获取数据库数据
  • Python实现将数据库一键导出为Excel表格的实例
  • Python写的一个定时重跑获取数据库数据
  • Python对数据库操作
  • Python数据库的连接实现方法与注意事项
  • 在Python中编写数据库模块的教程
  • Python编写检测数据库SA用户的方法

相关文章

  • 利用numpy+matplotlib绘图的基本操作教程
  • Python FTP操作类代码分享
  • 实例讲解Python中global语句下全局变量的值的修改
  • python列表操作实例
  • Python中的lstrip()方法使用简介
  • 跟老齐学Python之编写类之四再论继承
  • python从入门到精通(DAY 3)
  • 搭建Python的Django框架环境并建立和运行第一个App的教程
  • Python 递归函数详解及实例
  • 操作Windows注册表的简单的Python程序制作教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python遍历文件夹和读写文件的实现代码
    • python 正则表达式 概述及常用字符
    • 在Python中操作列表之list.extend()方法的使用
    • Python 时间处理datetime实例
    • python将ip地址转换成整数的方法
    • python 输出一个两行字符的变量
    • Python Matplotlib库入门指南
    • Python检测字符串中是否包含某字符集合中的字符
    • 详解Python实现按任意键继续/退出的功能
    • python链接Oracle数据库的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有