Django-cron 项目教程
1. 项目的目录结构及介绍
Django-cron 项目的目录结构如下:
django-cron/
├── AUTHORS
├── LICENSE
├── MANIFEST.in
├── README.rst
├── coveragerc
├── django_cron/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── backends.py
│ ├── management/
│ │ ├── __init__.py
│ │ ├── commands/
│ │ │ ├── __init__.py
│ │ │ ├── runcrons.py
│ ├── migrations/
│ │ ├── __init__.py
│ │ ├── 0001_initial.py
│ ├── models.py
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── test_crons.py
│ │ ├── test_requirements.txt
│ │ ├── test_urls.py
│ ├── urls.py
│ ├── views.py
├── docs/
│ ├── conf.py
│ ├── index.rst
├── flake8
├── gitignore
├── helpers/
│ ├── __init__.py
│ ├── pyruntests.py
│ ├── settings_base.py
│ ├── settings_mysql.py
│ ├── settings_postgres.py
│ ├── settings_sqllite.py
│ ├── setup.py
├── pytest_crons.py
├── pytest_urls.py
├── requirements.txt
├── setup.py
├── test_requirements.txt
├── test_urls.py
├── travis.yml
目录结构介绍
django_cron/
: 包含 Django-cron 的核心代码。admin.py
: Django 管理界面的配置。apps.py
: 应用的配置。backends.py
: 后端逻辑。management/
: 管理命令。migrations/
: 数据库迁移文件。models.py
: 数据模型。tests/
: 测试文件。urls.py
: URL 配置。views.py
: 视图逻辑。
docs/
: 项目文档。helpers/
: 辅助工具和设置。requirements.txt
: 项目依赖。setup.py
: 安装脚本。travis.yml
: Travis CI 配置。
2. 项目的启动文件介绍
Django-cron 项目的启动文件主要是 manage.py
,它是 Django 项目的标准启动文件。通过 manage.py
,你可以运行各种管理命令,例如:
python manage.py runserver # 启动开发服务器
python manage.py migrate # 应用数据库迁移
python manage.py runcrons # 运行 cron 任务
3. 项目的配置文件介绍
Django-cron 的配置文件主要涉及 Django 项目的 settings.py
文件。以下是一些关键配置:
安装和配置
-
安装 django-cron:
pip install django-cron
-
添加到 INSTALLED_APPS:
INSTALLED_APPS = [ ... 'django_cron', ]
-
运行迁移:
python manage.py migrate django_cron
-
编写 cron 类:
from django_cron import CronJobBase, Schedule class MyCronJob(CronJobBase): RUN_EVERY_MINS = 120 # 每 2 小时运行一次 schedule = Schedule(run_every_mins=RUN_EVERY_MINS) code = 'my_app.my_cron_job' # 唯一标识符 def do(self): pass # 在这里编写你的 cron 逻辑
配置文件示例
# settings.py
INSTALLED_APPS = [
...
'django_cron',
]
CRON_CLASSES = [
"my_app.cron.MyCronJob",
# 其他 cron