BigQuant 2026年度私享会

有微信通知的定时任务执行器

由bq9dhg5r创建,最终由bq9dhg5r 被浏览 2 用户

定时任务执行器使用说明 📋 项目概述 这是一个基于Python的定时任务调度器,专门用于自动执行股票数据分析脚本(支持.py和.ipynb格式),并在任务执行前后发送微信通知。

✨ 主要功能 定时执行 - 按指定时间自动运行Python脚本和Jupyter Notebook

  • 数据就绪检查 - 执行前自动检查数据库中当日数据是否就绪
  • 微信通知 - 任务开始、成功、失败都会发送通知
  • 错误重试 - 数据未就绪时自动重试
  • 超时处理 - 防止任务卡死(默认3小时超时)

🚀 快速开始

  1. 环境准备 bash
/# 安装依赖包
pip install schedule requests papermill

# 确保Python环境已安装数据分析相关库
# 如:dai (Data AI) 库等

2. 配置修改

2.1 修改微信通知密钥

在代码中找到这行,替换为你的Server酱SCKEY

SCKEY = "SCT298191Tqyj4OAFVp6aWbgqxxxxxxxxx"  # ← 替换这里 

获取SCKEY的方法:

  1. 访问 Server酱官网
  2. 微信扫码登录
  3. 在"发送消息"页面找到SendKey

2.2 配置你的定时任务

SCHEDULED_TASKS = [
    {
        "path": "/home/aiuser/work/userlib/板块/行业个股sig和资金流每日推荐.ipynb",
        "time": "18:49",  # 执行时间(24小时制)
        "name": "行业个股sig和资金流每日推荐"  # 任务显示名称
    },
    # 添加更多任务...
]

2.3 添加新任务

# 复制这个格式,添加新任务
{
    "path": "你的脚本绝对路径",      # 必需:.py或.ipynb文件
    "time": "HH:MM",              # 必需:执行时间
    "name": "任务描述名称"         # 必需:用于显示和通知
}

3 运行程序

数据检查机制

检查逻辑

  1. 任务触发时,首先检查cn_stock_prefactors表中是否有当天的close数据
  2. 如果数据未就绪,每5分钟重试一次,最多重试12次(1小时)
  3. 数据就绪后才开始执行脚本

自定义数据检查

如需修改检查逻辑,修改check_today_data_exists()函数:

def check_today_data_exists():
    # 修改这里的SQL查询逻辑
    sql = f"""
    SELECT close, date
    FROM cn_stock_prefactors
    WHERE date = '{today}'
    LIMIT 1
    """
    # 或改为其他检查条件

📱 微信通知

通知类型

  • 成功通知:任务执行成功
  • 失败通知:脚本执行失败或错误
  • ⏱️ 超时通知:执行超过3小时
  • 🔍 数据等待超时:数据1小时后仍未就绪
  • 文件不存在:脚本路径错误

通知示例

✅ 行业个股资金流每日推荐 - 执行成功
耗时: 2分45秒
路径: /home/aiuser/work/userlib/板块/行业个股资金流每日推荐.ipynb

⚙️ 高级配置

修改重试参数

max_retries = 12      # 最大重试次数
retry_interval = 300  # 重试间隔(秒),默认5分钟

修改超时时间

# 在 scheduled_run_script 函数中修改
timeout=10800  # 单位:秒,默认3小时


https://bigquant.com/codesharev3/92fc2add-dc65-4fa7-a982-b9f2af99ced9

\

{link}