This commit is contained in:
jxxghp
2023-10-18 12:36:46 +08:00
parent 0cd071813f
commit 68e16d18fe
2 changed files with 7 additions and 5 deletions

View File

@ -14,7 +14,6 @@ from ruamel.yaml import CommentedMap
from app import schemas from app import schemas
from app.core.config import settings from app.core.config import settings
from app.core.event import EventManager, eventmanager, Event from app.core.event import EventManager, eventmanager, Event
from app.db.models.site import Site
from app.db.site_oper import SiteOper from app.db.site_oper import SiteOper
from app.helper.browser import PlaywrightHelper from app.helper.browser import PlaywrightHelper
from app.helper.cloudflare import under_challenge from app.helper.cloudflare import under_challenge
@ -180,8 +179,8 @@ class AutoSignIn(_PluginBase):
triggers = TimerUtils.random_scheduler(num_executions=2, triggers = TimerUtils.random_scheduler(num_executions=2,
begin_hour=9, begin_hour=9,
end_hour=23, end_hour=23,
max_interval=12 * 60, max_interval=6 * 60,
min_interval=6 * 60) min_interval=2 * 60)
for trigger in triggers: for trigger in triggers:
self._scheduler.add_job(self.sign_in, "cron", self._scheduler.add_job(self.sign_in, "cron",
hour=trigger.hour, minute=trigger.minute, hour=trigger.hour, minute=trigger.minute,

View File

@ -28,10 +28,13 @@ class TimerUtils:
# 随机生成下一个任务的时间间隔 # 随机生成下一个任务的时间间隔
interval_minutes = random.randint(min_interval, max_interval) interval_minutes = random.randint(min_interval, max_interval)
random_interval = datetime.timedelta(minutes=interval_minutes) random_interval = datetime.timedelta(minutes=interval_minutes)
# 记录上一个任务的时间触发器
last_random_trigger = random_trigger
# 更新当前时间为下一个任务的时间触发器 # 更新当前时间为下一个任务的时间触发器
random_trigger += random_interval random_trigger += random_interval
# 达到结束时间时退出 # 达到结束时间或者时间出现倒退时退出
if random_trigger.hour > end_hour: if random_trigger.hour > end_hour \
or random_trigger.hour < last_random_trigger.hour:
break break
# 添加到队列 # 添加到队列
trigger.append(random_trigger) trigger.append(random_trigger)