无法使用Django cron进行函数调用



我想每周调用一次方法,为此我实现了这里提到的

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((未被调用,日志为空。

以前有人遇到过这个问题吗?如果是,请提供任何帮助。谢谢

也许只需尝试在最后添加2>&1,它会将错误输出重定向到标准输出,并可能解释日志文件为空的原因。此外,您在>>后面缺少一个空格

CRONJOBS = [
('* * * * *', 'myapp.views.poll_tracked', '>> ' + os.path.join(BASE_DIR, 'data.log') + ' 2>&1')
]

相关内容

  • 没有找到相关文章

最新更新