【发布时间】:2020-11-03 04:26:37
【问题描述】:
我想每周调用一次方法,为此我按照此处所述进行了实现
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() 未调用,并且日志为空。
以前有人遇到过这个问题吗?如果是这样,任何帮助表示赞赏。谢谢。
【问题讨论】:
-
这与您遇到的错误无关,但是通过获得所有 5 颗星,您将每分钟运行一次 cron 作业,确保将其更改为 ' * * * * 1'让它每周运行一次
-
@figbar yaa 我会这样做,但首先我需要弄清楚为什么不调用该方法,如果我每分钟运行一次。如果你能帮我解决这个问题,下一步将如你所说:)
标签: python python-3.x django django-cron