一个用于注册周期性Django Q任务的Django应用程序。
项目描述
django-q-registry
一个用于注册周期性Django Q任务的Django应用程序。
要求
- Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
- Django 4.2, 5.0
- Django Q2 1.4.3+
- 此软件包仅与Django ORM代理进行了测试。
安装
- 从PyPI安装软件包
python -m pip install django-q-registry
- 将应用程序添加到Django项目的
INSTALLED_APPS
INSTALLED_APPS = [
...,
"django_q_registry",
...,
]
入门
注册周期性任务
有三种支持注册周期性任务的方法
-
在Django应用程序的
tasks.py
文件中,使用@register_task
装饰器# tasks.py from django.core.mail import send_mail from django_q.models import Schedule from django_q_registry import register_task @register_task( name="Send periodic test email", schedule_type=Schedule.CRON, # https://crontab.guru/#*/5_*_*_*_* cron="*/5 * * * *", ) def send_test_email(): send_mail( subject="Test email", message="This is a test email.", from_email="noreply@example.com", recipient_list=["johndoe@example.com"], )
-
在Django应用程序的
tasks.py
文件中,直接使用registry.register
函数# tasks.py from django.core.mail import send_mail from django_q.models import Schedule from django_q_registry.registry import registry registry.register( send_mail, name="Send periodic test email", kwargs={ "subject": "Test email", "message": "This is a test email.", "from_email": "noreply@example.com", "recipient_list": ["janedoe@example.com"], }, schedule_type=Schedule.CRON, # https://crontab.guru/#*/5_*_*_*_* cron="*/5 * * * *", )
-
在Django项目的
settings.py
文件中,使用Q_REGISTRY["TASKS"]
设置# settings.py from django_q.models import Schedule Q_REGISTRY = { "TASKS": [ { "name": "Send periodic test email", "func": "django.core.mail.send_mail", "kwargs": { "subject": "Test email", "message": "This is a test email.", "from_email": "noreply@example.com", "recipient_list": ["janedoe@example.com"], }, "schedule_type": Schedule.CRON, # https://crontab.guru/#*/5_*_*_*_* "cron": "*/5 * * * *", }, ], }
在生产环境中设置周期性任务
在项目部署过程中某个时候,运行setup_periodic_tasks
管理命令
python manage.py migrate
python manage.py setup_periodic_tasks
此命令会自动注册来自 tasks.py
文件的周期性任务,来自 Django 应用的 Q_REGISTRY["TASKS"]
设置。它还会清理任何不再注册的周期性任务。
文档
有关更多信息,请参阅文档。
许可证
django-q-registry
遵循 MIT 许可协议。有关更多信息,请参阅LICENSE
文件。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
django_q_registry-0.4.0.tar.gz (21.4 kB 查看哈希)
构建分布
django_q_registry-0.4.0-py3-none-any.whl (12.5 kB 查看哈希)
关闭
django_q_registry-0.4.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | feffcc944d4a0305e4a15b74303dd931d61e5a6ecb8d0ff13a8dee802808334b |
|
MD5 | fe5d80208e8aeff0b90bfc4e15a830e9 |
|
BLAKE2b-256 | d2771b9f6041ad491ae88091be17a82af6eef451560b4542d7cdb10dcd8a13c3 |
关闭
django_q_registry-0.4.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e6fd84d9e358cd795d6790f8f57f04071b8317bb7b6876538b14372eb63452a8 |
|
MD5 | 5d5b78663a7258d863fd4a62329d447d |
|
BLAKE2b-256 | f09cb73adc8e017d0743284a837f0f9a1df818459737319fc2137e30a2ec391b |