python简易定时调度

在python中,一般定时调度会使用apscheduler,更基础的我们会使用sched包来实时调度。有时候也是会使用time.sleep的方式来配合使用。在实际的生产中,单纯使用time.sleep会出现睡眼之后程序无法被唤醒的情况,所以后来会尽量的避免使用这种方式。

基于当前新的项目需求,做了一个简单的定时调度,即定好每天的指定时间执行特定的方法。具体如下图:

python简易定时调度_第1张图片

 在这里,为了降低资源的使用,仍然添加了time.sleep方法,但实际上这个方法可有可无,因为程序本身是不停的在循环,但是在做空循环,资源的使用很少,几乎可以忽略,但是与让进程处于阻塞状态相比还是有一定的资源使用差异。这是还可以继续提升的方面。

还有一个点就是整体执行的稳健性。如apscheduler包,在程序报错后,并不会直接退出整个程序,在第二天仍然会重新执行整个程序。这是需要继续研究的地方。

其实我们在使用调度器,更多关心以下几个场景:

一、定时调度(指定时间执行)

二、间隔调度(间隔指定时间执行)

三、任务的增删改查

四、调度的可靠性

五、调度方法的易用性

六、异常问题处理机制

七、调度器对资源本身的高效分配

大多时间,我们是在资源和效率之间进行平衡。所以对于资源的开销调度至关重要。并发、并行、同步、异步等方法,我们需要做更多的尝试。

你可能感兴趣的:(python)