从手动到自动:python在日常工作中的效率革命(二)

本文主要介绍在工作中怎么利用 python 脚本提升工作效率

背景

由于业务的特殊性,我们在全量数据跑批时,需要先对表记录做一些更新,共涉及到 28 张表。

前同事是完全纯手工处理的,先登录到 mysql 服务器,然后一条条执行 sql,那么他需要复制粘贴 28 次。

梳理

我接手之后,对这部分工作进行了梳理,特点如下:

  • 内容不会变动,每次执行的 sql 都是一样的;
  • 部分 sql 执行时间特别长。

基于以上梳理后,所以对此进行了脚本化改造,新特性如下:

  • 自动化执行 28 条 sql;
  • 引入钉钉任务成功通知、失败报警功能;
  • 加入 check 机制,避免遗漏。

自动化脚本

# -*- coding: utf-8 -*-

"""
本脚本用于项目跑批时更新SQL
"""

import pymysql
import concurrent.futures
import requests
import time
from pymysqlpool import ConnectionPool
import logging

logging.basicConfig(filename='../sql.log',
                    filemode='a',
                    format='%(asctime)s %(levelname)s:%(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    level=logging.INFO)

connection_pool = ConnectionPool(pool_name='my_pool', host='', user='', password='',
                                 db='', port=3306)

WEBHOOK_URL = "https://oapi.dingtalk.com/robot/send?access_token=..."

user = ''


def send_dingtalk(message):
    # 钉钉机器人Webhook地址
    webhook_url = WEBHOOK_URL

    # 发送钉钉通知
    headers = {
   'Content-Type': 'application/json'}
    data = {
   
        'msgtype': 'markdown',
        'markdown': {
   
            'title': '##  全量跑批SQL通知',
            'text': message
        },
        'at': {
   
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值