python - Django 后台任务 : Initialize Task at midnight and repeat every midnight

标签 python django

美好的一天,

我目前正在使用 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

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

最佳答案

这是在 background_task.models module [GitHub] 中定义的。所以你应该导入它:

from background_task.models import <b>Task</b>

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

class Task(models.Model):

    # ...

    HOURLY = 3600
    <b>DAILY = 24 * HOURLY</b>

关于python - Django 后台任务 : Initialize Task at midnight and repeat every midnight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57762496/

相关文章:

django - 在 Django 中更改电子邮件时发送确认电子邮件

python - PyDev:如何从控制台调用调试特定命令(带断点)?

python - 将数字转换为 Excel 的基数 26

python - 在 Python 中传递 "reference"

GAE 上 django nonrel 中的 Django 身份验证

python - 在哪里调用对模型具有依赖性的外部 API?

python - 尝试内联模型时,<class> 在 Django 中没有 <class> 的外键

Python 回调函数占位符?

javascript - 如何使用ajax函数发送表单而不刷新页面,我错过了什么?我必须为此使用rest-framework吗?

python - 如何测试 Django 电子邮件的内容?