如何使用调度程序获取作业状态?

3

我有一个在Scheduler库上运行的定时任务,我想从Python中获取它的状态("成功","失败"),但是我找不到如何获取状态的文档。

让我们以以下代码为例来使用scheduler:

import datetime as dt
import time

from scheduler import Scheduler

import scheduler.trigger as trigger

def foo():

    print("foo")

schedule = Scheduler()
schedule.minutely(dt.time(second=15), foo)
while True:  

    schedule.exec_jobs()

    time.sleep(1)

我只能打印调度程序,但是我需要打印执行状态,这可行吗?

>>> print(schedule)  
max_exec=inf, tzinfo=None, priority_function=linear_priority_function, #jobs=9

type     function         due at                 due in      attempts weight
-------- ---------------- ------------------- --------- ------------- ------
MINUTELY foo(..)          2022-03-30 00:37:15   0:00:14         0/inf      1

请建议


如果您认为此功能缺失,我会很高兴如果您在GitLab上的项目页面上开启一个问题。 - jpotyka
@jpotyka 当然可以,谢谢!此外,我想借此机会请问一下库中的另一个功能是否可行。是否有可能获取已执行作业的最后日期时间?我在文档中找到了您提供的“datetime”,它是用于获取计划执行的日期时间对象,但我想知道是否有一个用于获取作业上次执行的日期时间的方法?谢谢。 - selma se
1个回答

0
该工作本身没有状态消息,如(“成功”,“失败”),因为该工作不知道计划函数中的逻辑是否“成功”。 因此,用户必须自己编写逻辑,以确定执行是否按预期进行。 如果您想知道作业是否已执行,而不考虑结果,可以查看执行次数。 为此,该作业具有属性attemptsmax_attemptshas_attempts_remaining。您可以在这里找到文档页面。 也许这个示例也可以帮助您。

声明:我是该库的作者之一。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接