APScheduler参数传递

tech2025-10-12  8

APScheduler参数传递

在使用APScheduler的时候,难免会出现控制器参数传递的一些需求。

比方说:

1.定时发送短信(需要接受方的电话号码)

2.定时发送邮件(需要接受方的邮箱号)

3.定时执行某个命令或Shell脚本(CMD终端命令或Shell脚本)

诸如此类的业务或运维需求,在job中是有参数传递

# -*- coding:utf-8 -*- def task1(**options): # 向redis中存储操作记录 redis.hest(key, time, "Run Plan") # 获取传递参数 job_id = options["ID"] scheduler.add_job(task1, "interval", kwargs={"ID": "123"}) scheduler.add_job(task1, "interval", args=[1, 2, 3])
像上边这么写法,可以将参数传递到执行器中,方便业务使用和变量。

在Tornado中使用APScheduler的时候,需要接受前端向后端传递的参数,可以参考一下代码展示

因为博主将代码拆分成不同的文件,所以代码部分理解就好,复制粘贴缺少文件不能使用

# -*- coding:utf-8 -*- from abc import ABC from tornado.web import RequestHandler from basic.Scheduler import scheduler def task1(**options): print(options) def task2(**options): print(options) class AddJobHandler(RequestHandler, ABC): def get(self): job_id = self.get_argument("job_id") scheduler.add_job(task1, "interval", kwargs={"ID": "123"}) self.write("OK") def post(self): job_id = self.get_argument("job_id") scheduler.add_job(task2, "interval", args=[1, 2, 3]) self.write("OK")
以上便是这方面的写法,如果碰到什么问题,可以留言!
最新回复(0)