在 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 中安排表更新的主要内容,如果未能解决你的问题,请参考以下文章
使用 Firebase Cloud Functions,我可以从外部 API 安排更新以更新 Firestore