1

我正在用django构建一个小型金融Web应用程序。该应用程序要求数据库具有完整的价格历史记录,无论是否有人正在使用该应用程序。这些价格可以在线免费获得。好方法在应用程序外部运行的异步脚本部署django应用程序

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

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

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

+1

对于你来说维护一个数据库,然后有一个这些子应用程序可以连接并访问数据的API呢?这样你就可以保持当前数据的一个副本。 –

+0

我想过这个,但是如果API是基于web的(即web应用程序必须发出url请求),我认为它不够快,因为我正在处理每秒下载的价格 – gpanterov

回答

1

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