当前位置: 首页 > 网络应用技术

Python的定时任务的四个解决方案,懒惰的工件

时间:2023-03-07 11:16:48 网络应用技术

  在日常工作中,我们经常使用需要执行周期性的任务。一种方法是使用Linux系统随附的Crond [1]实现命令行。其他方法是直接使用Python。对应于实现常见的Python正时任务。

  时间模块中的睡眠(SECS)函数可以在继续执行之前实现当前的执行线程悬挂的SEC。SO称为暂停是为了使当前线程进入阻止状态。当达到Sleep()函数指定的时间时,它将从封锁状态转到现成状态,等待CPU调度。

  基于此特征,我们可以通过while Cycle+Sleep()实现简单的定时任务。

  代码示例:

  主要缺点:

  Timeloop [2]是一个可用于多循环任务的库。这是一个简单的库,在装饰器模式下运行标记函数。

  示例代码:

  螺纹模块中的计时器是一个非屏幕函数,比睡眠好一些。对计时器的最基本理解是计时器。我们可以启动多个计时器任务。这些计时器任务是异步执行的,因此等待订单没有问题。

  计时器(间隔,函数,args = [],kwargs = {})

  代码示例:

  备注:计时器只能执行一次,在这里您需要回忆,否则您只能执行一次

  Sched模块实现了一般事件调度程序。使用延迟功能在调度程序类中等待特定时间执行任务。在同一时间,它支持多线程应用程序。执行每个任务后,将立即调用延迟功能,以确保可以执行其他线程。

  Class Sched.scheduler(TimeFunc,delayfunc)此类定义了调度事件的一般接口。它要求传递两个参数。timeFunc是一个函数,它返回没有参数的时间类型编号(通常使用的时间模块),delayfunc应该是要调用的参数,与timeFunc兼容,并且函数延迟了多个多个函数时间单元(通常用作时间模块的睡眠)。

  代码示例:

  调度程序对象的主要方法:

  Python是一种非常多样化且发达的语言,因此我必须有很多功能。如果您知道,可以在评论区域告诉我。