美好的一天

我目前正在使用Django和Django-Background-Tasks软件包。我有一个定期任务,需要在午夜运行,并且应在每个午夜重复执行。

我是使用该软件包的初学者,但对以下内容感到困惑:


如何在初始化期间设置重复参数?


这是我的代码:

from background_task import background
from datetime import datetime, date

today_date = datetime.datetime.today()
today_midnight = today_date.replace(hour=23, minute=59, second=59)

@background(schedule=today_midnight)
def send_reminders():...
send_reminders(repeat=Task.DAILY)


如文档中所述,我想将参数“ repeat”设置为task.DAILY。但是,我遇到了以下问题:

NameError: name 'Task' is not defined


我知道我必须导入一些东西来定义Task,但是找不到它。谁能帮我?

最佳答案

这在background_task.models module [GitHub]中定义。因此,您应该使用以下命令导入它:

from background_task.models import Task


DAILY本身仅指定秒数,因此24×60×60 = 86'400:

class Task(models.Model):

    # ...

    HOURLY = 3600
    DAILY = 24 * HOURLY

关于python - Django-Background-Tasks:在午夜初始化Task,并在每个午夜重复一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57762496/

10-11 16:15