定时任务,周计算调整。
This commit is contained in:
@@ -375,24 +375,26 @@ class MessagePushTask(MessagePluginInterface):
|
|||||||
|
|
||||||
# 获取当前是周几(0-6,0是周一)
|
# 获取当前是周几(0-6,0是周一)
|
||||||
current_weekday = now.weekday()
|
current_weekday = now.weekday()
|
||||||
|
weekly_days = [int(day) for day in weekly_days]
|
||||||
|
weekly_days.sort()
|
||||||
|
|
||||||
# 找到下一个执行日
|
# 找到下一个执行日
|
||||||
next_weekday = None
|
next_weekday = None
|
||||||
for day in sorted(weekly_days):
|
for day in weekly_days:
|
||||||
day = int(day)
|
|
||||||
if day > current_weekday:
|
if day > current_weekday:
|
||||||
next_weekday = day
|
next_weekday = day
|
||||||
break
|
break
|
||||||
|
|
||||||
# 如果本周没有下一个执行日,取下周的第一个执行日
|
# 如果本周没有下一个执行日,取下周的第一个执行日
|
||||||
if next_weekday is None:
|
if next_weekday is None:
|
||||||
next_weekday = int(weekly_days[0])
|
next_weekday = weekly_days[0]
|
||||||
|
# 计算到下周第一个执行日的天数
|
||||||
days_ahead = 7 - current_weekday + next_weekday
|
days_ahead = 7 - current_weekday + next_weekday
|
||||||
else:
|
else:
|
||||||
days_ahead = next_weekday - current_weekday
|
days_ahead = next_weekday - current_weekday
|
||||||
|
|
||||||
next_time = now.replace(hour=hour, minute=minute, second=second, microsecond=0) + timedelta(
|
# 计算下次执行时间
|
||||||
days=days_ahead)
|
next_time = now.replace(hour=hour, minute=minute, second=second, microsecond=0) + timedelta(days=days_ahead)
|
||||||
|
|
||||||
except (json.JSONDecodeError, ValueError, IndexError) as e:
|
except (json.JSONDecodeError, ValueError, IndexError) as e:
|
||||||
self.LOG.error(f"处理每周执行日失败: {e}")
|
self.LOG.error(f"处理每周执行日失败: {e}")
|
||||||
|
|||||||
Reference in New Issue
Block a user