Python:数据库监听器。定期检查

时间:2013-09-03 07:37:14

标签: python django

下面的程序检查状态为 0 的作业表,然后将值更改为 1 ,如果没有找到,睡眠5秒然后检查新条目。该程序工作正常,但我担心我的解决方案,如果它可以运行多少天不间断没有任何问题。我在想是否更好地使用监听器来实现它。有关如何实施它的任何建议?谢谢你们!

import time
from apps.models.joblist import Jobs

def start_jobs():
  try:
    j = Jobs.objects.filter(status=0)[0]
    #do some job here
    j.status = 1
    j.save()

    Jobs.objects.update()
    start_jobs()
  except Exception as error:
    time.sleep(5)
    start_jobs()

1 个答案:

答案 0 :(得分:0)

我建议您使用Celery进行定期任务。它是这类任务最常用的扩展,并且有很多很好的文档。

您可以详细了解here