pip install django-schedule
python
INSTALLED_APPS = [
...
'schedule',
...
]
python
from schedule.models import PeriodicTasks, IntervalSchedule
def my_task():
...
def add_periodic_task():
schedule, created = IntervalSchedule.objects.get_or_create(
every=1, period=IntervalSchedule.DAYS
)
PeriodicTasks.objects.create(interval=schedule, name="My Task", task="myapp.tasks.my_task")
python
from django.urls import include
urlpatterns = [
...
path('schedule/', include('schedule.urls')),
...
]
python
SCHEDULE_DEFAULT_TIMEZONE = 'Asia/Shanghai'
python
SCHEDULE_DEFAULT_HOUR = 0
SCHEDULE_DEFAULT_MINUTE = 0
SCHEDULE_DEFAULT_DURATION = 5 # minutes
SCHEDULE_DEFAULT_START_DATE = datetime.now().date()
SCHEDULE_DEFAULT_END_DATE = None