From cc2ccb14946d69f1c0b567a189027fc150fa5db9 Mon Sep 17 00:00:00 2001 From: Cccc_ Date: Fri, 2 Jan 2026 13:20:12 +0800 Subject: [PATCH] feat: remove useless scheduler config --- .env.example | 10 ++++++++++ README.md | 16 +++++++++------- backend/README.md | 6 +++--- backend/config.py | 10 ++++------ backend/services/scheduler_service.py | 15 --------------- 5 files changed, 26 insertions(+), 31 deletions(-) diff --git a/.env.example b/.env.example index 4754c48..6294ea7 100644 --- a/.env.example +++ b/.env.example @@ -45,3 +45,13 @@ CHROME_BINARY_PATH= # 推荐留空,让 Selenium Manager 自动管理 ChromeDriver 版本 CHROMEDRIVER_PATH= +# ==================== 定时任务配置 ==================== +# 注意:每个任务的打卡时间由任务自身的 cron_expression 字段控制 +# 这里只配置全局的后台任务间隔 + +# Token 有效性检查间隔(分钟) +TOKEN_CHECK_INTERVAL_MINUTES=30 + +# 会话数据清理间隔(小时) +SESSION_CLEANUP_INTERVAL_HOURS=24 + diff --git a/README.md b/README.md index a0058a9..af35069 100644 --- a/README.md +++ b/README.md @@ -188,15 +188,13 @@ DATABASE_URL=sqlite:///./data/checkin.db # CORS 允许的域名 CORS_ORIGINS=http://localhost:3000,http://localhost:5173 -# 定时打卡时间 -CHECKIN_SCHEDULE_HOUR=20 -CHECKIN_SCHEDULE_MINUTE=0 - # Token 过期检查间隔(分钟) TOKEN_CHECK_INTERVAL_MINUTES=30 # 会话文件清理间隔(小时) SESSION_CLEANUP_INTERVAL_HOURS=24 + +# 注意:每个任务的打卡时间由任务的 cron_expression 字段控制 ``` ### 邮件配置 (`config.ini`) @@ -597,9 +595,13 @@ DATABASE_URL=sqlite:///./data/checkin.db # CORS 允许的域名 CORS_ORIGINS=http://localhost:3000,http://localhost:5173 -# 定时打卡时间 -CHECKIN_SCHEDULE_HOUR=20 -CHECKIN_SCHEDULE_MINUTE=0 +# Token 过期检查间隔(分钟) +TOKEN_CHECK_INTERVAL_MINUTES=30 + +# 会话文件清理间隔(小时) +SESSION_CLEANUP_INTERVAL_HOURS=24 + +# 注意:每个任务的打卡时间由任务的 cron_expression 字段控制 ``` ### 邮件配置 (`config.ini`) diff --git a/backend/README.md b/backend/README.md index 5ac043b..0591240 100644 --- a/backend/README.md +++ b/backend/README.md @@ -142,13 +142,13 @@ senderpassword = your-password ### 定时任务配置 -在 `backend/config.py` 中配置: +在 `.env` 文件中配置(或在 `backend/config.py` 中设置默认值): -- `CHECKIN_SCHEDULE_HOUR`: 定时打卡小时(默认 20) -- `CHECKIN_SCHEDULE_MINUTE`: 定时打卡分钟(默认 0) - `TOKEN_CHECK_INTERVAL_MINUTES`: Token 检查间隔(默认 30 分钟) - `SESSION_CLEANUP_INTERVAL_HOURS`: 会话清理间隔(默认 24 小时) +**注意**:每个任务的打卡时间由任务自身的 `cron_expression` 字段控制(支持标准 Crontab 表达式)。 + ## 🔐 认证流程 1. 用户输入 Signature 并请求二维码 diff --git a/backend/config.py b/backend/config.py index 078c4d4..ae36005 100644 --- a/backend/config.py +++ b/backend/config.py @@ -29,7 +29,7 @@ class Settings(BaseSettings): DATABASE_URL: str = f"sqlite:///{BASE_DIR}/data/checkin.db" # CORS 配置(从环境变量读取,用逗号分隔) - CORS_ORIGINS: str = "http://localhost:5173,http://localhost:3000" + CORS_ORIGINS: str = "http://localhost:3000" @property def cors_origins_list(self) -> List[str]: @@ -51,11 +51,9 @@ class Settings(BaseSettings): SMTP_SENDER_PASSWORD: str = "" SMTP_USE_SSL: bool = True - # 定时任务配置 - CHECKIN_SCHEDULE_HOUR: int = 20 # 20:00 - CHECKIN_SCHEDULE_MINUTE: int = 0 - TOKEN_CHECK_INTERVAL_MINUTES: int = 30 - SESSION_CLEANUP_INTERVAL_HOURS: int = 24 + # 定时任务配置(可通过环境变量配置) + TOKEN_CHECK_INTERVAL_MINUTES: int = 30 # Token 检查间隔(分钟) + SESSION_CLEANUP_INTERVAL_HOURS: int = 24 # 会话清理间隔(小时) # Selenium / Chrome 配置(从 .env 读取) CHROME_BINARY_PATH: str = "" diff --git a/backend/services/scheduler_service.py b/backend/services/scheduler_service.py index 3ae4efb..d83c9f2 100644 --- a/backend/services/scheduler_service.py +++ b/backend/services/scheduler_service.py @@ -294,21 +294,6 @@ def start_scheduler(): # 创建后台调度器 scheduler = BackgroundScheduler(timezone="Asia/Shanghai") - # 添加定时打卡任务(每天指定时间) - scheduler.add_job( - scheduled_check_in, - trigger=CronTrigger( - hour=settings.CHECKIN_SCHEDULE_HOUR, - minute=settings.CHECKIN_SCHEDULE_MINUTE - ), - id="scheduled_check_in", - name="定时打卡任务", - replace_existing=True - ) - logger.info( - f"已添加定时打卡任务: 每天 {settings.CHECKIN_SCHEDULE_HOUR:02d}:{settings.CHECKIN_SCHEDULE_MINUTE:02d}" - ) - # 添加 Token 过期检查任务(每隔指定分钟) scheduler.add_job( check_token_expiration,