嗯,这个问题一定会让这个down br br乐队的乐趣被标记为“过于宽泛等”,但事实并非如此!但正是因为它需要“一般”知识如何运作,我找不到我要问的书中的答案。
拥有我的Django应用程序,是的,我可以通过MVC流程使其成为交互式。我遇到的问题是当我的方法与html页面(用户看到的)没有关联但是应该在后台不断运行的方法。例如,仅举例说明,想象一下查询数据库并每2小时发送一封包含新闻的电子邮件的代码片段。它只是没有做任何事情,因为我不知道如何“唤醒代码片段”。 如果我在没有Django的python中编写桌面应用程序,我就没有这个问题。如果我右键单击并说出,运行此文件,代码将在后台运行。
是的,当然我听说过cron jobs等,但到目前为止我看到你可以cron-tab一个文件,但是我如何在views.py中crontab一个方法?但我想这不是要走的路。只要我得到答案,我就会发现你只能投票。
谢谢
答案 0 :(得分:2)
为此,我一直在使用命令和cron作业的组合。
写下你的command,设置你的cronjob:
30 3 * * * /home/ubuntu/project/env/bin/python /home/ubuntu/project/manage.py command_name
利润。
答案 1 :(得分:1)
如果你想在Django中执行周期性任务,那么有多种选择。
- 使用Crontab。
醇>
有多个Django crontab应用程序可供使用。 (django-crontab)
您只需要在设置文件中添加cron函数。
CRONJOBS = [
('*/5 * * * *', 'myapp.cron.my_scheduler')
]
cron.py
from myapp.views import send_email
def my_scheduler():
# add logic
send_email()
- 使用Celery Beat
醇>
我个人更喜欢Celery而不是crontab。您可以查看here