python - 每天在 heroku 上的 django-rest api 中运行一个脚本
问题描述
我想每天早上运行一个特定的脚本,以便我在 heroku 上部署的 rest api 脚本本身它只是一个数据库填充器。那怎么办?我忘了提到我正在使用 django rest_framework
解决方案
有很多选择。这是我在最近构建的一个应用程序上所做的,该应用程序定期抓取许多新闻网站。
在我的项目的根目录中,我创建了一个clock.py
,然后用于apscheduler
创建计划的作业。这是一个简单的版本:
from apscheduler.schedulers.blocking import Blocking Scheduler
#IMPORTANT! Have to make sure things are working before this starts
from django import setup
setup()
sched = BlockingScheduler()
@sched.scheduled_job('interval', days=1):
def timed_job():
#do something here
...
我在 Heroku 上部署了我的项目,然后我完成了启动机器以运行我的clock.py
文件的过程。一旦它启动并运行,该过程就会按预期运行。
interval
除了您可以用来指定您希望进程运行的时间之外,还有许多选项。chron
如果您希望它在特定时间和日期运行,您可以使用样式调度。您可以在此处阅读更多相关信息
推荐阅读
- arrays - 谷歌表格:求和、查询、其他将值(格式为数字)视为公式中的零的公式 - 不清楚原因
- github - 当我从 Github 拉项目时,如何防止 Pycharm venv 文件夹被删除?
- reactjs - Next.js '找不到模块'./filename.jpeg'。来不及上传图片
- c++ - 由于 CMakeLists.txt 中的 findpackage() 导致指针无效
- python - 胶水作业和胶水连接
- java - 如何删除这个 Jason 响应(时间戳、状态、错误、路径)?我只想获取对象数据
- amazon-web-services - 在浏览器中使用 Amazon S3 SDK 进行分段上传
- php - PHP 以程序方式创建表单
- reactjs - 使用 React Modal 平滑过渡
- java - 如何处理来自单个 RequestBody 的多个 HttpMessageNotReadableException?