python中应用程序周期性执行(定时器驱动)的实现及效果



我有两个定时器驱动的python应用程序。这些应用程序以固定的时间间隔执行。计时器驱动的代码是这样驱动的:

while True:  
 do_something()  
 sleep(10)

我有几个问题:

  1. 应用程序需要定期执行。上述方式正确吗
  2. 是否真的需要守护这类应用程序,或者在upstart等工具的帮助下在后台运行就可以了?这两种方法有何不同
  3. 如果我们在一台机器上有多个应用程序(考虑多核cpu),那么这些应用程序将如何在执行过程中获得系统资源
  4. 如果cpu忙于执行其他任务,同时这些应用程序的计时器到期,会发生什么?运行在cpu上的作业会被抢占还是取决于作业的性质。因此,如果该作业是非抢占式的,我的理解是,该作业将排队等待处理。如果是这种情况,那么如何使应用程序在每个确定的时间间隔运行

芹菜是延迟和周期性任务的行业标准。

使用芹菜的好处是:

  1. 您可以控制和防止任务重叠
  2. 您的任务由代码管理,而不是由操作系统管理
  3. 对于周期性任务,您可以查看Celery周期性任务

最新更新