【问题标题】:How can i install auto update my django database?如何安装自动更新我的 django 数据库?
【发布时间】:2019-12-09 18:22:11
【问题描述】:

我在views.py 中将一些来自公共API 的数据添加到我的sqlite 数据库中。并用 django rest framework 将其传输到 axios(vuejs 应用程序显示此数据)。公共 API 每秒更新一次,我希望每次都运行我的 views.py 代码以自动更新我的数据库。

我试着写一些粗略的代码,比如:

While True:
    #my views.py function
    time.sleep(30).

axios 可以有一个函数来启动 views.py 代码,或者一些内部 django 函数来运行我的代码吗?

【问题讨论】:

    标签: javascript python django django-rest-framework axios


    【解决方案1】:

    简单地在你的代码中放置带有睡眠的while循环将失败。

    这似乎很容易,但这是一个复杂的主题。我建议阅读 Celery 和 RabbitMQ,以及如何将它们与 Django 一起使用。这是一个很好的切入点以及如何做到这一点的示例:

    https://realpython.com/asynchronous-tasks-with-django-and-celery/

    我有类似的任务 - 创建将定期询问 URL 的后端,并写入给定的数据。我不想使用 Celery 和 RabbitMQ,所以我创建了异步工作者。这不是最好的解决方案,但它适用于简单的情况:

    https://github.com/t1waz/gwp_t1waz/blob/master/gwp/common/worker.py

    将获取数据的代码放入 while True 循环中的 Worker main_loop() 中。 在 urls.py 文件中运行 start_background_worker() 类似于我的项目。

    干杯,芬里尔

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 2021-10-19
      • 1970-01-01
      • 2020-07-09
      • 2020-08-16
      • 2018-12-28
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      相关资源
      最近更新 更多