我想知道如何使用django每隔几秒执行一次函数或文件,以便我可以使用从此函数调用中获取的数据填充我的数据库。
我需要每5秒执行一次函数,此函数将抓取一个网站并将其信息保存到我的数据库中,我的一个模板视图将使用此信息生成plotly
图形。 / p>
我读过有关Celery和async
的内容,但无法找到将其付诸实践的方法。
如果有人回答这个问题,请告诉我应该将这个job
文件放在我的django项目中,或者我应该只将函数添加到现有文件中。
答案 0 :(得分:2)
pip install django-crontab
在django_crontab
设置文件中添加installed apps
在项目目录中创建一个名为cron.py
的文件,并在此文件中编写该函数
添加时间
CRONJOBS = [
('* * * * 5', 'cron.my_scheduled_job')
]
然后从终端
python manage.py crontab add
答案 1 :(得分:0)
这个简单的东西可以作为守护进程实现,而不是使用cron或芹菜等。看看python-daemon或者令人困惑, another package with the same name
答案 2 :(得分:0)
你也可以试试https://github.com/arteria/django-background-tasks。它易于设置并使任务运行。