django apscheduler cron例子
时间: 2023-09-25 07:09:25 浏览: 128
下面是一个使用 Django APScheduler 库实现 cron 任务的例子:
1. 安装 APScheduler 库
```
pip install apscheduler
```
2. 在 Django 项目的 settings.py 文件中添加以下配置:
```
# APScheduler 配置
SCHEDULER_CONFIG = {
'apscheduler.jobstores.default': {
'type': 'memory'
},
'apscheduler.executors.default': {
'class': 'apscheduler.executors.pool:ThreadPoolExecutor',
'max_workers': '20'
},
'apscheduler.job_defaults.coalesce': 'false',
'apscheduler.job_defaults.max_instances': '3',
'apscheduler.timezone': 'UTC',
}
# 在 Django 项目中添加以下代码
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG)
scheduler.start()
```
3. 在 Django 项目中创建一个 jobs.py 文件,添加以下代码:
```
from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job
from django.conf import settings
scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG)
scheduler.add_jobstore(DjangoJobStore(), "default")
@register_job(scheduler, "cron", hour=1, minute=30)
def my_cron_job():
# 执行 cron 任务的代码
pass
register_events(scheduler)
scheduler.start()
```
在这个例子中,我们使用了 Django APScheduler 库来创建一个 cron 任务,每天的 1:30 执行一次。你可以根据自己的需求来修改这个定时任务的执行时间。同时,你也可以在 my_cron_job() 函数中编写你自己的业务逻辑。
阅读全文