【问题标题】:How can I set limit to the duration of a job with the APScheduler?如何使用 APScheduler 设置作业持续时间的限制?
【发布时间】:2016-02-18 13:22:25
【问题描述】:

我将调度程序设置为“max_instances=10”。可以同时运行 10 个作业。有时某些作业被阻塞,它会挂在那里。当超过 10 个作业在那里阻塞时,除了“跳过:最大正在运行的实例数达到(10)”。 APScheduler 是否有办法设置作业持续时间的最大时间。如果作业运行超过最大时间,它将被终止。 如果没有办法,我该怎么办?

【问题讨论】:

    标签: python apscheduler


    【解决方案1】:

    APScheduler 无法设置作业的最长运行时间。这主要是因为用于 PoolExecutors 的底层 concurrent.futures 包不支持这样的功能。一个子进程可能会被杀死,但缺少适当的 API,APScheduler 必须获得一个专门的执行程序来支持这一点,更不用说添加到允许超时的作业 API 了。这是下一个主要版本需要考虑的问题。

    问题是,你想对仍在运行作业的线程做什么?由于线程不能被强制终止,唯一的选择是让它运行它,但它仍然会保持线程忙碌。

    【讨论】:

    • 它有可能进入下一个主要版本吗?
    猜你喜欢
    • 2017-12-10
    • 2015-01-09
    • 2015-05-27
    • 2015-09-12
    • 1970-01-01
    • 2023-01-12
    • 2015-12-04
    • 1970-01-01
    • 2020-10-02
    相关资源
    最近更新 更多