2017-06-25 9 views
0

私はdjango cron_tabをプレイしようとしていますが、django cronと呼ばれるものもありますが、代わりに多くの人が推薦するのがcron_tabです。django cron_tabが電子メールを送信していない理由は何ですか?

私はそれが(私はコマンドを実行したときにエラーがないとして、それが正しくインストールされていると信じて)

をインストールしかし、それはしかし動作していない持っています。 (それが働いていない理由ですローカルで実行しているとしなければならないのか?)私はピップを経由して、それをインストールしたcron_tab

https://pypi.python.org/pypi/django-crontab

をインストールするには、ここですべての手順に従っている

、私は置きますINSTALLED_APPS

に、それはまた、私の設定で追加

CRONJOBS = [ 
('1 * * * *', 'main.extras.cron_job.my_scheduled_job') 
] 

私はという名前のフォルダを持っていますその下mainextrasディレクトリで、extrasディレクトリの下に、私は私が私のcronの設定は、次の関数に私は毎分

を実行していると信じてcron_job.py

cron_job.py

def my_scheduled_job(): 
    from django.core.mail import send_mail 
    print('######################################') // this is added because I want to see if terminal/console would print this out as I would know at least the function did at least run but never seen this got printed 

    send_mail(
     'cron job test', 
     'Here is the message.', 
     '[email protected]', // using real email locally 
     ['[email protected]'], // using real email locally 
     fail_silently=False, 
    ) 

という名前のファイルを持っています現在pycharmを使用しており、正しく実行されているpython manage.py runserverを使用してアプリケーション全体を実行しています。

私は、このコマンドをドキュメントで言及したとおりに実行しました。

python manage.py crontab add 

その後、私は、このコマンド

python manage.py crontab show 

を実行する場合、私はこのメッセージが

Currently active jobs in crontab: 
1d3207c6e306b905406569c4fab310a3 -> ('1 * * * *', 'main.extras.cron_job.my_scheduled_job') 

誰かが私に与えてくださいできになるだろう、このメッセージ

adding cronjob: (1d3207c6e306b905406569c4fab310a3) -> ('1 * * * *', 'main.extras.cron_job.my_scheduled_job') 

になるだろう私が間違っていたところの手?事前に

おかげ

編集:私は、あまりにもこれを試してみました

、動作しませんでした

CRONJOBS = [ 
    ('*/1 * * * *', 'main.extras.cron_job.my_scheduled_job') 
] 

答えて

0

しかし私は、これは間違っていると思う:

CRONJOBS = [ 
('1 * * * *', 'main.extras.cron_job.my_scheduled_job') 
] 

I私はcronの専門家ではありませんが、これは00:01、01:01、02:01(毎時間)のように実行されると思います...テスト目的のために(https://en.wikipedia.org/wiki/Cron#Overview

使用してみてください。

CRONJOBS = [ 
('* * * * *', 'main.extras.cron_job.my_scheduled_job') 
] 

これは、スクリプト毎分実行、またはます:

CRONJOBS = [ 
('*/5 * * * *', 'main.extras.cron_job.my_scheduled_job') 
] 

を5分ごとに実行する( "/" を使用することに注意してください*/1 - 1分ごと、*/2 - 2分ごと...)

(英語エラー)

+0

sryz、私は編集しておくべきだった。 */1も試しました...コードを更新します – Dora

関連する問題