在在django中使用中使用apscheduler 执行计划任务的实现方法执行计划任务的实现方法
对于任何软件开发人员而言,为将来计划任务都是必不可少的工具。 尽管我们创建的许多编程旨在响应明确的触发或用户事
件,但定期执行的后台进程也同样重要。
“每个星期一早晨更新结果。”
“每天晚上分批下单。”
甚至具有每日请求限制的第三方API也隐式要求这种行为。
“我们只能每五分钟请求一次更新。”
幸运的是,许多聪明的人已经解决了这个问题,并且不难找到python本地解决方案。 Advanced Python Scheduler(APS)是
一个很好的选择,它具有简单,直观的API以及同类产品中的一些最佳文档。
对于此项目,我们将专注于将APS提供的调度技术与您的常规Django应用程序集成:洛杉矶天气应用程序,该应用程序定期
轮询第三方天气api以进行模型更新。
目标是比Django教程进行更深入的探索,同时不要在任何方向上陷入困境。
I.安装安装APS和其他依赖项和其他依赖项
在您的项目目录中,创建一个虚拟环境并激活它
virtualenv env
. env/bin/activate
根据本指南安装和配置PostgreSQL。 在此阶段,我们只需要在您的计算机上启动并运行SQL管理器即可。
另外,我发现使用PgAdmin PostgreSQL GUI有帮助。 在您的计算机上进行设置的详细信息可以在这里找到(使用
Python3)。
使用pip安装所有必需的软件包(注意,psycopg2适用于PostgreSQL):
pip install apscheduler django psycopg2 requests
II. Build your app
Create a new Django project:
django-admin.py startproject advancedScheduler
cd advancedScheduler
python manage.py startapp weather
在这个新目录(根目录)中,您将看到另一个名为advancedScheduler的文件夹。 这是Django项目目录。
为避免两地同名的混淆,我们仅将“根目录”称为“根目录”。 让下面的图作为我们跳文件夹冒险的路线图。
[ super_project_directory/ ] |
+----[ env/ ] <-- Virtualenv stuff
|
+----[ advancedScheduler/ ] <-- the Root Directory
|
+----[ advancedScheduler/ ] <-- the Django Project Directory
|
+----[ weather/ ] <-- the Django App Directory
尽管主要专注于演示调度程序的功能,但让我们花点时间连接Django应用。
我们首先要将天气应用添加到项目的INSTALLED_APPS中。 该文件位于advancedScheduler / settings.py文件中。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'weather'
]
接下来,将新的网址格式添加到advancedScheduler / urls.py文件中:
评论0
最新资源