-1

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

while True:  
 do_something()  
 sleep(10)

我有几个问题:

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

1 回答 1

0

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

使用芹菜的好处是:

  1. 您可以控制和防止任务重叠
  2. 您的任务由您的代码管理,而不是由操作系统管理
  3. 还有更多定期任务,您可以查看Celery pereodic 任务
于 2013-08-23T07:47:54.997 回答