【问题标题】:django cron_tab is not sending email why?django cron_tab 为什么不发送电子邮件?
【发布时间】:2017-11-28 06:56:59
【问题描述】:

我想玩django cron_tab,我也知道有一个叫django cron,但很多人推荐cron_tab

我已经安装了(我相信它安装正确,因为当我运行命令时没有错误)

但它不起作用。 (是否与在本地运行它有关,这就是它不起作用的原因?)

我已按照此处的所有步骤安装cron_tab

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

我确实是通过 pip 安装的,我把它放到了INSTALLED_APPS

也添加到我的设置中

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

我在extras 目录下有一个名为main 的文件夹,在extras 目录下我有一个名为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.',
        'from@hello.com',  // using real email locally
        ['to@hello.com'],  // using real email locally 
        fail_silently=False,
    )

我相信我的 cron 设置是每分钟运行以下函数

我目前正在使用pycharm 并使用运行正常的python manage.py runserver 运行整个应用程序。

然后我按照文档中的说明运行了这个命令。

python manage.py crontab add

然后我会收到这条消息

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

如果我运行这个命令

python manage.py crontab show

我会收到这条消息

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

谁能帮我看看我哪里做错了?

提前致谢

编辑:

我也试过了,还是不行

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

【问题讨论】:

    标签: python django cron


    【解决方案1】:

    我认为是错误的:

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

    我不是 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 分钟...)

    【讨论】:

    • sryz,我应该编辑的。我也试过 */1...我会更新我的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2014-06-13
    • 1970-01-01
    • 2017-08-07
    • 2016-01-12
    • 2016-05-02
    相关资源
    最近更新 更多