gpt4 book ai didi

python - 如何解释从 APScheduler 中的 get_jobs 返回的作业列表?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:52 28 4
gpt4 key购买 nike

我想弄清楚 APScheduler 是否是满足我项目需求的工具。

我可以添加一个工作。

我可以获得工作列表——但我无法解释结果。我想让我的程序将这个返回的作业列表翻译成程序其他部分需要的格式。我需要提取触发参数。

假设我正在使用 cron 触发器。我现在先做一个简单的:

new_job = self.scheduler.add_job(jobfunc,'cron', minute='*/5', args=["minute"]

稍后,我想获取作业然后提取基本信息(这是一个 cron 触发器,它被安排在 'minute'=*/5)——基本上我想重建我创建的参数触发器。

我查看了调试器中返回的作业,我看到每个作业都有一个“触发器”成员,其中包含我需要的信息——但我不确定如何以编程方式访问它。

我想做这样的事情:

    jobs=self.scheduler.get_jobs()
schedules=[]
for job in jobs:
schedules.append(<do something with job.trigger.fields>)

附加到时间表的元素看起来像这样:

{'minute':'*/5'}

文档说:

To get a machine processable list of the scheduled jobs, you can use the get_jobs().

问题是,我的“机器”应该如何处理这个列表?

最佳答案

将此放在此处,供任何试图找到其 Job 对象的不同属性的人使用。由于对象不使用 __dict__ 而是使用 __slots__ 。这将像 __dict__ 一样向您显示作业对象的所有不同属性。

>>> scheduler.get_jobs()[0].__slots__
('_scheduler', '_jobstore_alias', 'id', 'trigger', 'executor', 'func', 'func_ref', 'args', 'kwargs', 'name', 'misfire_grace_time', 'coalesce', 'max_instances', 'next_run_time', '__weakref__')

然后根据这些信息,您可以检索属性

>>> scheduler.get_jobs()[0].trigger
<IntervalTrigger (interval=datetime.timedelta(seconds=1200), start_date='2021-08-06 10:01:19 CDT', timezone='America/Chicago')>
>>> scheduler.get_jobs()[0].max_instances
1

关于python - 如何解释从 APScheduler 中的 get_jobs 返回的作业列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com