计划在条件后运行python作业

时间:2020-06-04 03:20:50

标签: python-3.x

全部

我在EC2实例上运行python框架(comparison1.py),该框架工作正常,并向最终用户发送电子邮件。

要求:

  1. 我需要连续检查,如果记录存在于onprem表(process_log)中,然后触发比较1.py

请提出建议。

我曾尝试过的

选项:

  1. 按如下所示创建另一个python脚本(check_audit.py)并将其设置在crontab中:

    需要帮助:在check_audit.py满足条件并且compare1.py被触发并成功完成后,需要正确退出作业。

  2. 请建议是否还有其他选择。

#!/usr/bin/python3


import schedule
import time
import pandas as pd
from pyathenajdbc import connect
from datetime import datetime, date, time, timedelta
import config as cfg
import sys, os, pyodbc, io, time, re
import boto3


def job():
    onprem_records = None
    onprem_conn = pyodbc.connect(cfg.conn_uk_ip['conn_db_us']) ** connecting to onprem sql server***
    onprem_records = pd.read_sql_query('''select max(EndTime) from process_log  where processname = 'PROCESS1' and ProcessStatus='C' and EndTime is NOT NULL''', onprem_conn)
    onprem_records = onprem_records.astype(str)


    if onprem_records is not None:
        os.system("python3 comparison1.py")
schedule.every().day.at("02:54").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

0 个答案:

没有答案