django_cron 中的奇怪行
Strange line in django_cron
我正在使用此指令 http://django-cron.readthedocs.org/en/latest/installation.html,无法理解 "a unique code" 行的含义。
from django_cron import CronJobBase, Schedule
class MyCronJob(CronJobBase):
RUN_EVERY_MINS = 120 # every 2 hours
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'my_app.my_cron_job' # a unique code
def do(self):
pass # do your thing here
谁能解释一下这条线的作用?
code = 'my_app.my_cron_job' # a unique code
查看代码 here:
def make_log(self, *messages, **kwargs):
cron_log = self.cron_log
cron_job = getattr(self, 'cron_job', self.cron_job_class)
cron_log.code = cron_job.code
我们可以理解,这个"unique code"表示特定的cron任务。每次执行您的 cron 任务时,都会使用 cron_log.code = cron_job.code
.
创建 CronJobLog
实例
因此,可以 filter 属于特定任务的日志:
last_job = CronJobLog.objects.filter(code=cron_job.code).latest('start_time')
这就是为什么它必须是唯一的,不能将来自一个 cron 任务的日志与另一个混合。
我想它与 id 具有相同的目的,但这段代码具有有意义的价值。
我正在使用此指令 http://django-cron.readthedocs.org/en/latest/installation.html,无法理解 "a unique code" 行的含义。
from django_cron import CronJobBase, Schedule
class MyCronJob(CronJobBase):
RUN_EVERY_MINS = 120 # every 2 hours
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'my_app.my_cron_job' # a unique code
def do(self):
pass # do your thing here
谁能解释一下这条线的作用?
code = 'my_app.my_cron_job' # a unique code
查看代码 here:
def make_log(self, *messages, **kwargs):
cron_log = self.cron_log
cron_job = getattr(self, 'cron_job', self.cron_job_class)
cron_log.code = cron_job.code
我们可以理解,这个"unique code"表示特定的cron任务。每次执行您的 cron 任务时,都会使用 cron_log.code = cron_job.code
.
CronJobLog
实例
因此,可以 filter 属于特定任务的日志:
last_job = CronJobLog.objects.filter(code=cron_job.code).latest('start_time')
这就是为什么它必须是唯一的,不能将来自一个 cron 任务的日志与另一个混合。 我想它与 id 具有相同的目的,但这段代码具有有意义的价值。