建模程序 多个定时程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

83 lines
2.6 KiB

# mysql数据库常用任务函数封装
import pymysql, socket, time
import config
#公共连接库
def pymysqlAlias():
return pymysql.connect(
host=config.mysql_gpu['host'],
port=config.mysql_gpu['port'],
user=config.mysql_gpu['user'],
password=config.mysql_gpu['password'],
db=config.mysql_gpu['db'],
charset=config.mysql_gpu['charset'],)
# 新增新的任务
def add_reapeat_texture_task(data):
try:
resExist = is_exist(data["pid"])
if resExist == True:
return
with pymysqlAlias() as conn:
cursor = conn.cursor()
sql = f'insert into task_repeat_texture (pid,heads,createTime) values ("{data["pid"]}","{data["heads"]}","{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}")'
print(f'sql: {sql}')
cursor.execute(sql)
conn.commit()
except Exception as e:
print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 执行add_task({data})异常: {str(e)}")
#
def is_exist(pid):
try:
with pymysqlAlias() as conn:
cursor = conn.cursor()
sql = f'select count(*) from task_repeat_texture where pid = {pid} and status = 0'
print(f'sql: {sql}')
cursor.execute(sql)
result = cursor.fetchone()
if result[0] > 0:
return True
else:
return False
except Exception as e:
print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 执行is_new_make_psid()异常: {str(e)}")
return "error"
def get_pid_task():
try:
with pymysqlAlias() as conn:
cursor = conn.cursor()
sql = f'select * from task_repeat_texture where status = 1 limit 1'
print(f'sql: {sql}')
cursor.execute(sql)
result = cursor.fetchone()
if result:
return result
else:
return None
except Exception as e:
print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 执行get_pid_task()异常: {str(e)}")
return "error"
#更新状态
def update_status(id,status):
try:
with pymysqlAlias() as conn:
cursor = conn.cursor()
hostname = socket.gethostname()
sql = f'update task_repeat_texture set status = {status},updateTime = now() where id = {id}'
print(f'开始任务sql: {sql}')
cursor.execute(sql)
conn.commit()
except Exception as e:
print(f"{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())} 执行update_status()异常: {str(e)}")