【问题标题】:Good way to deploy a django app with an asynchronous script running outside of the app使用在应用程序外部运行的异步脚本部署 django 应用程序的好方法
【发布时间】:2015-06-11 08:42:58
【问题描述】:

我正在使用 django 构建一个小型金融网络应用程序。该应用程序要求数据库具有完整的价格历史记录,无论是否有人当前正在使用该应用程序。这些价格可在线免费获得。

我目前处理这个问题的方式是同时运行一个单独的 python 脚本(在 django 之外),它下载价格数据并使用 sqlite3 模块将其记录在 django 数据库中。

我的部署计划是在AWS EC2实例上运行应用程序,更改db文件所在文件夹的权限,并单独运行下载脚本。

这是部署此类应用的好方法吗?有什么缺点? 有没有更好的方法来处理异步下载和部署? (PythonAnywhere?)

【问题讨论】:

  • 您如何维护一个数据库,然后拥有这些子应用程序可以连接并访问数据的 API?这样您就可以保持一份数据的最新副本。
  • 我想过这个,但如果 API 是基于网络的,(即网络应用程序必须发出 url 请求),我认为它不够快,因为我正在处理价格每秒下载一次

标签: django asynchronous amazon-web-services django-deployment


【解决方案1】:

您可以编写守护程序代码并按照this 的方法从Internet 获取数据后立即将数据推送到数据库。由于您的守护程序将独立于 Django 运行,因此您还需要处理与数据同步相关的问题。一种可能的解决方案是在您的 Django 模型中使用DateTimeFieldauto_now_add = True,这将使您了解数据输入数据库的时间。希望这可以帮助您或其他寻找类似答案的人。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 2015-01-06
    • 2023-04-04
    • 2015-01-08
    • 2021-09-19
    • 2015-03-17
    相关资源
    最近更新 更多