0

私はdjango_cronを使用しているため、スケジュール通りにタスクを実装する必要があります。設定で :django_cronは一度だけ実行され、スケジューラは動作しません。

INSTALLED_APPS = [ 
    'mailsnake', 
    'corsheaders', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'Avaana_web', 
    'rest_framework', 
    'rest_framework.authtoken', 
    'django_cron', 

] 

とcron.py

from django_cron import CronJobBase, Schedule,cronScheduler 
    import datetime,os 
    class MyCronJob(CronJobBase): 
     RUN_EVERY_MINS = .3 
     RETRY_AFTER_FAILURE_MINS = 5 
     ALLOW_PARALLEL_RUNS = True 
     schedule = Schedule(run_every_mins=RUN_EVERY_MINS,  
    retry_after_failure_mins=RETRY_AFTER_FAILURE_MINS) 
     code = 'my_app.my_cron_job' 
     def do(self): 
      print("hello") 

をしかし、私は、出力のショーや終了後

$ python manage.py runcrons 
hello 

を実行します。

30秒ごとにどのように出力されるのですか。

+0

私はdjango_cronもインストールしています。 via $ pip install django_cron –

+0

'python -u manage.py runcrons'を実行してみてください –

+0

このリンクから#6を読んでくださいhttp://django-cron.readthedocs.io/en/latest/installation.html – Anoop

答えて

1

物事のカップル:

。あなたのcronジョブが正しく設定されていないようです。

CRON_CLASSES = [ 
    "my_app.cron.MyCronJob", 
    # ... 
] 

B:ドキュメントによると、あなたはこのように、あなたのcronクラスの完全修飾パッケージ名に、設定のパスポイントにCRON_CLASSESリストを作成する必要があります。また、pythonを使用してそれを実行するポイントは、複数回実行し続けることを意味しません。あなたはおそらくまだcronジョブから 'python manage.py runcrons'を実行する必要があります。あなたのスケジュールは単にmanage.py runcronsを呼び出すときにが必要かどうかを決定します。詳細はこちらをご覧ください:http://django-cron.readthedocs.io/en/latest/installation.html

関連する問題