You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sched2包实现Python定时调度命令的代码运行问题求助

修复方案与说明

你的代码存在3个核心错误,修复后的可运行代码如下:

from datetime import timedelta
from sched2 import scheduler

# 初始化调度器实例
sc = scheduler()

# 单次延迟任务:延迟1分钟执行
@sc.enter(delay=timedelta(minutes=1), priority=0)
def single_delay_task():
    print("this is a test at 1 min")

# 周期重复任务:每1.5分钟执行一次
@sc.every(delay=timedelta(minutes=1.5), priority=0)
def periodic_task():
    print("this is a test at 1.5 min")

# 启动调度器
sc.run()

错误点说明

  • 装饰器使用逻辑错误:sc.enter和sc.every均为函数装饰器,必须作用于可调用的函数对象,不能直接拼接执行语句,你需要把要运行的业务逻辑封装到独立函数内。
  • 基础语法错误:第一个print语句的字符串缺少右侧闭合双引号,会直接触发语法异常。
  • 批量命令执行扩展:如果需要调度执行系统命令,可结合subprocess模块实现,示例如下:
import subprocess
@sc.enter(delay=timedelta(minutes=2), priority=0)
def run_batch_cmd():
    # 示例执行系统命令,Windows环境可替换为对应cmd指令
    exec_result = subprocess.run(["echo", "batch command executed"], capture_output=True, text=True)
    print(exec_result.stdout)

内容的提问来源于stack exchange,提问作者jack kelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:54:01