在 Django 中安排表更新

Posted

技术标签:

【中文标题】在 Django 中安排表更新【英文标题】:Schedule table updates in Django 【发布时间】:2017-02-21 20:33:47 【问题描述】:

如何根据一天中的时间安排在 Django 中更新数据库表的内容。例如每 5 分钟 Django 会调用一个 REST api 来更新一个表的内容。

【问题讨论】:

【参考方案1】:

根据您的问题,我不是 100% 清楚您在寻找什么。但是,假设您希望每 5 分钟运行一次某种任务(这将调用数据库),那么我高度建议您查看 Celery。

这是一个强大的任务计划,带有specific Django integration。一旦你通过getting started 文档,你特别想看的是CELERYBEAT_SCHEDULE。这使您可以设置 cron 之类的调用。

这有很多benefits over cron,对于大多数用例,我发现它是一个更好的选择。可扩展性对我来说是一个巨大的功能。

祝你好运!

【讨论】:

Celery 应该可以,我只需要测试一下。非常感谢! FWIW,我也倾向于使用redis 作为我的代理而不是 RabbitMQ。我真的很喜欢 redis 的很多用途,所以我通常也在这里坚持使用它:docs.celeryproject.org/en/latest/getting-started/brokers/… 如果你喜欢这个答案,可以把它标记为答案吗?【参考方案2】:

我认为这可能最好通过编写服务器端 python 脚本并添加 cronjob 来完成

【讨论】:

你能提供一些细节吗? 我之前可能应该问过,哪个平台托管了该应用程序? (Windows、OSX、Linux?) 它托管在 Linux 上。

以上是关于在 Django 中安排表更新的主要内容,如果未能解决你的问题,请参考以下文章

如何从 django 前端安排任务?

使用 Firebase Cloud Functions,我可以从外部 API 安排更新以更新 Firestore

当时区有 dst 更新时,我如何安排活动

爱吃肉的猪小屁视频教学计划安排(该计划于2021年04月16日更新)

重新安排时自动更新Outlook会议提醒

是否可以在单个 CCNode 对象上安排多个选择器或更新回调