以下のプログラムは、ステータスが0の Job テーブルをチェックし、値を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()