我正在使用 django-crontab 并且以下 cron 作业运行良好:
以下 cron 作业由
python manage.py crontab 添加
设置.py
CRONTAB_COMMAND_SUFFIX = '2>&1'
CRONJOBS = [
('*/1 * * * *', 'my_app.cron.test','>> ~/cron_job.log'),
]
我的应用程序/cron.py
from datetime import datetime
def test():
print('HELLO : {}'.format(datetime.now()))
一旦服务器运行,它就会打印到日志文件中:
~/cron_job.log
>...
>HELLO : 2018-01-04 23:52:02.983604
>...
如果我想为我的所有模型添加查询,同样的事情:
我的应用程序/cron.py
from datetime import datetime
from django.apps import apps
def test():
print('HELLO : {}'.format(datetime.now()))
print(apps.get_models())
~/cron_job.log
>...
>HELLO : 2018-01-05 10:00:02.283938
[<class 'django.contrib.admin.models.LogEntry'>, <class 'django.contrib.auth.models.Permission'>, <class 'django.contrib.auth.models.Group'>, <class 'django.contrib.auth.models.User'>, <class 'django.contrib.contenttypes.models.ContentType'>, <class 'django.contrib.sessions.models.Session'>, <class 'my_app.models.UserProfile'>, <class 'my_app.models.Post'>, <class 'my_app.models.Comment'>, ...]
>...
但是当我开始查询我的模型条目时:
我的应用程序/cron.py
from datetime import datetime
import blog_app.models
def test():
print('HELLO : {}'.format(datetime.now()))
for post in my_app.models.Post.objects.all():
print(post.title)
什么都没有打印出来。模型条目虽然存在。有什么想法吗?
>...
>django.db.utils.OperationalError: no such table: blog_app_post