Python我如何准确地安排一次任务

jin*_*dav 5 python queue jobs scheduler task

所以我有这个 python 应用程序,我需要在特定的日期时间安排任务。

我在想这样的事情:

    scheduler.add(datetime,func())
Run Code Online (Sandbox Code Playgroud)

它将在指定的日期和时间但准确地调用函数 func。我想要秒甚至毫秒的精度。

我搜索并找到了“调度程序”模块并尝试了它,但您只能使用 hh:mm 格式而不是 hh:mm:ss 格式。

我希望我很清楚

Wan*_*uta 4

默认sched使用标准库中的模块,具有相当好的精度*。time.time它有一个与您描述的类似的 API:

\n\n
import sched\nfrom datetime import datetime\n\ns = sched.scheduler()\ns.enterabs(datetime(2018, 1, 1, 12, 20, 59, 0).timestamp(), 1, func)\ns.enterabs(datetime(2018, 1, 1, 12, 20, 59, 500000).timestamp(), 1, func)\ns.run()\n
Run Code Online (Sandbox Code Playgroud)\n\n

该程序将在 2018-01-01 12:20:59 运行 func,半秒(500000 微秒)后再次运行,然后退出。

\n\n

当然,您可以使用任何方式获取时间戳,包括datetime从字符串中解析 a 并从那里开始工作,或者直接输入时间戳。

\n\n
\n\n

*:在Linux和Mac上,精度time.time约为1\xc2\xb5s。在 Windows 上,约为 16 毫秒。保证至少1秒。

\n