2013-07-15 7 views
5

このpostで説明したのと全く同じ問題が発生しましたが、その答えはまったく役に立ちません。つまり、私はTivix django-cronを使用していますが、cronジョブは定期的に実行されていません。Tivix django-cron appの使い方

この問題を説明するために、次のcronジョブクラスは、runcronsコマンドを実行して1分ごとに電子メールを送信することを意図しています。しかし実際には、それは1つの電子メールだけを送信し、それ以上は送信しません。それはcronの目的を破る...私は何が欠けていますか?

class TestCron(CronJobBase): 
    schedule = Schedule(run_every_mins=1) 
    code = 'test_cron_philip' 

    def do(self): 
     send_mail('cron test', 'body is test body', '[email protected]', 
        ['[email protected]'],fail_silently=False) 

答えて

8

はい、あなたは何か( "runcrons" バックグラウンドデーモンではありません)を欠場。ドキュメントから:

「今、毎回あなたが管理コマンドのpython manage.pyを実行 runcronsを必要に応じて、すべてのcronsはを実行します アプリケーションに応じて管理コマンドとしてのUnixのcrontab から呼び出すことができます。通常は5分ごとに私の アプリケーションのほとんどで動作します。

これは、あなたのcrontabに "runcrons"コマンドを入れなければならないことを意味します。

例:

あなたが何かを30分毎に行い、いくつかのcronジョブを持っています。

これはあなたがあなたのすべてのために "のpython manage.pyのruncrons" を実行するためののcrontabする(Linux、Mac)またはタスクスケジューラ(Windows)を編集する必要があります動作させるには、1分としましょう。

これを実行すると、CronJobは1分ごとにpingされ、必要に応じて実行されます(30分ごとまたは設定した値どおり)。

これが役に立ちます。

+1

私はこれを私のcrontabファイルに持っていました:* * * * * root python /home/nash/djangocode/zingyhomes_new/manage.py runcronsしかし、それでも動かないのですか?助けてください 。 –

関連する問題