我想每周调用一次方法,实现如下所述。
https://gutsytechster.wordpress.com/2019/06/24/how-to-setup-a-cron-job-in-django/
我不知道它是如何工作的,但让我解释一下我做了什么。我需要像下面的文件夹结构中提到的那样调用一个方法。
proj_application
|
|- myapp
|
|-views.py (Method call Inside)
|- poll_tracked()在views.py中,
def poll_tracked():
print('called')在settings.py中,我提到过
INSTALLED_APPS = [
'django_crontab',
]
CRONJOBS = [
('* * * * *', 'myapp.views.poll_tracked', '>>' + os.path.join(BASE_DIR, 'data.log'))
]之后我就跑了
python3.7 manage.py crontab add
python3.7 manage.py runserver当我运行crontab -l时,我可以看到
* * * * * /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /Users/domain/dashboard/proj_application/manage.py crontab run dceca84af9ceab8a4d39d08fa148969f >>/Users/domain/dashboard/proj_application/data.log # django-cronjobs for proj_application生成一个名为data.log的新日志文件,但提到的方法poll_tracked()是,而不是,日志是空的。
以前有人遇到过这个问题吗?如果是的话,任何帮助都是非常感谢的。谢谢。
发布于 2020-07-13 22:44:07
也许只需最后添加2>&1,它就会将错误输出重定向到标准输出,并解释为什么日志文件是空的。此外,在>>之后,您还缺少一个空格。
CRONJOBS = [
('* * * * *', 'myapp.views.poll_tracked', '>> ' + os.path.join(BASE_DIR, 'data.log') + ' 2>&1')
]https://stackoverflow.com/questions/62884939
复制相似问题