django_cronを正しくインストールした後、djangoアプリでcron.pyという名前の次のコードを記述して、django_cronを呼び出して実行します。しかし、このスクリプトがまったく機能しないのは奇妙なことです。
from django_cron import cronScheduler, Job
from mysite.tds.models import machine_list,flavor_list,image_list
from mysite.views import *
import datetime,os
class CheckExpire(Job):
run_every = 60
def job(self):
mac_list = machine_list.objects.filter(expire_date=datetime.date.today())
for lst in mac_list:
delete_vm(lst.servername)
nagios_delete(lst.servername,lst.machine_ip)
mac_list.delete()
cronScheduler.register(CheckExpire)
上記のコードは、別のスクリプトで記述してこのスクリプトを実行すると正常に実行できるため、これらのコードに間違いはありません。
django-cronをインストールする方法の手順を投稿して、正しくインストールされているかどうかを確認します。
'django_cron'をPythonパスに入れます
settings.pyファイルのINSTALLED_APPSに「django_cron」を追加します
urls.pyファイルの先頭(インポート直後)に次のコードを追加します。importdjango_cron django_cron.autodiscover()
定期的なジョブを追加するインストール済みの各アプリ内に「cron.py」というファイルを作成します。
httpd.confのMaxRequestsPerChildを更新し、100に設定します
django_cronのbase.pyを更新し、polling_frequencyを30に設定します(run_every未満)
誰かがdjango_cronがこの条件下で機能しない理由を理解できますか?前もって感謝します。