更新系统页面和更新功能
- 更新 admin-frontend 系统页面和更新 API - 更新 routes 和 services 中的更新逻辑 - 重新构建前端静态资源
This commit is contained in:
@@ -79,6 +79,7 @@ class TaskScheduler:
|
||||
self._pending = [] # heap: (priority, submitted_at, seq, task)
|
||||
self._pending_by_account = {} # {account_id: task}
|
||||
self._seq = 0
|
||||
self._known_account_ids = set()
|
||||
|
||||
self._running_global = 0
|
||||
self._running_by_user = {} # {user_id: running_count}
|
||||
@@ -143,6 +144,18 @@ class TaskScheduler:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# 最后兜底:清理本调度器提交过的 active_task,避免测试/重启时被“任务已在运行中”误拦截
|
||||
try:
|
||||
with self._cond:
|
||||
known_ids = set(self._known_account_ids) | set(self._pending_by_account.keys())
|
||||
self._pending.clear()
|
||||
self._pending_by_account.clear()
|
||||
self._cond.notify_all()
|
||||
for account_id in known_ids:
|
||||
safe_remove_task(account_id)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def update_limits(self, max_global: int = None, max_per_user: int = None, max_queue_size: int = None):
|
||||
"""动态更新并发/队列上限(不影响已在运行的任务)"""
|
||||
with self._cond:
|
||||
@@ -215,6 +228,7 @@ class TaskScheduler:
|
||||
done_callback=done_callback,
|
||||
)
|
||||
self._pending_by_account[account_id] = task
|
||||
self._known_account_ids.add(account_id)
|
||||
priority = 0 if is_vip else 1
|
||||
heapq.heappush(self._pending, (priority, task.submitted_at, task.seq, task))
|
||||
self._cond.notify_all()
|
||||
|
||||
Reference in New Issue
Block a user