TG-PlatformPlus/default_task.py

85 lines
3.1 KiB
Python
Raw Normal View History

2026-03-02 14:29:58 +08:00
import time
startTime = time.time()
currentIndex = 0
currentState = 0
date_format = "%Y-%m-%d %H:%M:%S"
def toTime(target_time_str):
target_time = time.mktime(time.strptime(target_time_str, date_format))
current_time = time.time()
#更新时间进度
updateTime(startTime, current_time, target_time)
if current_time > target_time:
return True
return False
def toDay(days):
target_time = startTime + float(days) * 86400 # 将天数转换为秒并加到startTime上
current_time = time.time()
updateTime(startTime, current_time, target_time)
return current_time > target_time
def toHour(hours):
target_time = startTime + float(hours) * 3600 # 将小时转换为秒并加到startTime上
current_time = time.time()
updateTime(startTime, current_time, target_time)
return current_time > target_time
def toMinute(minutes):
target_time = startTime + float(minutes) * 60 # 将分钟转换为秒并加到startTime上
current_time = time.time()
updateTime(startTime, current_time, target_time)
return current_time > target_time
def toSecond(seconds):
target_time = startTime + float(seconds) # 将秒直接加到startTime上
current_time = time.time()
updateTime(startTime, current_time, target_time)
return current_time > target_time
def start():
pass
def callBack(completed_state):
global currentIndex, currentState
currentState = completed_state #0: 进入任务; 1执行任务; 2执行指令; 3等待指令锁解除; 4 指令循环
#log(f"completed_state ={completed_state} , currentIndex = {currentIndex}, taskProcessFlag = {taskProcessFlag}")
if loop == 0:
if currentIndex == 0: #首次进入队列
log(f"Initializing here.")
currentIndex += 1
time.sleep(1)
log(f"completed_state ={completed_state}")
# 任务循环次数=0 时可用
#if toTime("2024-01-05 20:00:00"):
# finish()
#if toDay(1):
# finish()
#if toHour(1):
# finish()
if toMinute(1):
finish()
#if toSecond(30):
# finish()
else:
match completed_state:
case 0: #进入队列
if currentIndex == 0: #首次进入队列
log(f"Initializing here.")
time.sleep(5)
log(f"completed_state ={completed_state}")
case 1: #执行队列
log(f"completed_state ={completed_state}")
case 2: #执行指令
log(f"completed_state ={completed_state}")
def next(): #队列单次执行完毕后调用
global currentIndex, currentState
currentIndex = currentIndex + 1
if currentIndex >= loop: #此时任务执行完毕
log('Cleaning up here.')
finish()