Django的定制表彰+ cron作业
问题描述:
我有自定义称道:Django的定制表彰+ cron作业
python manage.py checksomething
如何运行这每两个小时?
我看到的Django的cron:
#example from doc
from django_cron import cronScheduler, Job
from MyMailFunctions import check_feedback_mailbox
class CheckMail(Job):
# run every 300 seconds (5 minutes)
run_every = 300
def job(self):
# This will be executed every 5 minutes
check_feedback_mailbox()
cronScheduler.register(CheckMail)
但怎么办好呢?它会自动打开?我有在服务器上设置的东西吗?这个文件应该在哪里? (在什么文件夹中?)
答
与django_cron的想法是设置一个作业,该作业将在项目中每X秒运行一次。
您创建作业(在您的示例中为CheckMail函数)并设置其周期(run_every = 300,这意味着每300秒= 5分钟)。
设置作业后,使用cronScheduler.register(CheckMail)注册作业。
为了使工作运行你url.py需要添加以下每5分钟:
import django_cron
django_cron.autodiscover()
这样做,这将使django_cron活跃,你的工作将开始每5分钟。
这是一个更好的方法,然后从脚本中调用manage.py checksomthing。这样你的django项目将在你的django项目中运行自己的工作,并且不会依赖于正在运行的脚本。
哪个系统上你的主机应用程序? –
@LukaszKoziara Linux – mamasi