我正在试着玩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')
]
我下面有一个名为main
的文件夹是extras
目录,在extras
目录下我有一个名为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')
]
答案 0 :(得分:0)
我认为这是错误的:
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分钟......)
(抱歉英语错误)