定时任务,周计算调整。
This commit is contained in:
@@ -277,18 +277,8 @@ class MessagePushTask(MessagePluginInterface):
|
|||||||
else:
|
else:
|
||||||
status = 'failed'
|
status = 'failed'
|
||||||
|
|
||||||
self.db.update_task(task['task_id'], {'status': status})
|
# 如果是重复任务且未超过结束时间,先计算下次执行时间
|
||||||
|
next_time = None
|
||||||
# 记录任务完成
|
|
||||||
self.db.log_task_action({
|
|
||||||
'log_id': f"log_{datetime.now().strftime('%Y%m%d%H%M%S')}",
|
|
||||||
'task_id': task['task_id'],
|
|
||||||
'action': 'update',
|
|
||||||
'user_id': task['creator_id'],
|
|
||||||
'changes': {'status': status}
|
|
||||||
})
|
|
||||||
|
|
||||||
# 如果是重复任务且未超过结束时间,更新下次执行时间
|
|
||||||
if task['schedule_type'] == 'recurring' and status != 'completed':
|
if task['schedule_type'] == 'recurring' and status != 'completed':
|
||||||
next_time = self._calculate_next_schedule_time(
|
next_time = self._calculate_next_schedule_time(
|
||||||
task['schedule_time'],
|
task['schedule_time'],
|
||||||
@@ -299,12 +289,25 @@ class MessagePushTask(MessagePluginInterface):
|
|||||||
task['monthly_day']
|
task['monthly_day']
|
||||||
)
|
)
|
||||||
if next_time:
|
if next_time:
|
||||||
self.db.update_task(task['task_id'], {
|
self.LOG.info(f"计算任务 {task['task_id']} 的下次执行时间为: {next_time}")
|
||||||
'schedule_time': next_time,
|
|
||||||
'status': 'scheduled'
|
|
||||||
})
|
|
||||||
|
|
||||||
self.LOG.info(f"定时任务 {task['task_id']} 处理完成,状态: {status}")
|
# 更新任务状态和下次执行时间
|
||||||
|
update_data = {'status': status}
|
||||||
|
if next_time:
|
||||||
|
update_data['schedule_time'] = next_time
|
||||||
|
|
||||||
|
self.db.update_task(task['task_id'], update_data)
|
||||||
|
|
||||||
|
# 记录任务完成
|
||||||
|
self.db.log_task_action({
|
||||||
|
'log_id': f"log_{datetime.now().strftime('%Y%m%d%H%M%S')}",
|
||||||
|
'task_id': task['task_id'],
|
||||||
|
'action': 'update',
|
||||||
|
'user_id': task['creator_id'],
|
||||||
|
'changes': update_data
|
||||||
|
})
|
||||||
|
|
||||||
|
self.LOG.info(f"定时任务 {task['task_id']} 处理完成,状态: {status}, 下次执行时间: {next_time}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.LOG.error(f"处理定时任务 {task['task_id']} 失败: {e}")
|
self.LOG.error(f"处理定时任务 {task['task_id']} 失败: {e}")
|
||||||
|
|||||||
Reference in New Issue
Block a user