python – 将参数传递给apscheduler处理函数

我正在使用apscheduler,我试图将参数传递给启动计划作业时调用的处理函数:

from apscheduler.scheduler import Scheduler
import time

def printit(sometext):
    print "this happens every 5 seconds"
    print sometext

sched = Scheduler()
sched.start()

sometext = "this is a passed message"
sched.add_cron_job(printit(sometext),second="*/5")

while True:
    time.sleep(1)

这样做会给我以下错误:

TypeError: func must be callable

可以将参数传递给函数处理程序.如果没有,有什么选择吗?基本上,我需要每个计划的作业来返回一个我创建日程表时传入的字符串.谢谢!

解决方法

printit(sometext)不是可调用的,它是调用的结果.

您可以使用:

lambda: printit(sometext)

哪个可以稍后调用,这可能会做你想要的.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章