【问题标题】:Is there a way to run django constantly on the server to update a database based on live data有没有办法在服务器上不断运行 django 以根据实时数据更新数据库
【发布时间】:2021-04-30 16:27:54
【问题描述】:
我正在 django 上开发一个虚拟股票市场应用程序,遇到了以下问题。在任何股票市场应用中,都有限价买入、止损和目标卖出的选项。这实质上意味着如果股票触及低于当前价格的价格,则买入股票,如果触及非常低的价格则卖出股票,如果触及高价则卖出股票。为此,服务器需要持续监控来自特定股票 API 的实时数据,并在发生时执行操作。但是,在此期间,可能没有人在网站上提出任何请求,那么我如何让 django 每 5 秒左右监控一次股票价格以检查订单是否需要执行?
【问题讨论】:
标签:
javascript
python
django
【解决方案1】:
这里的常用方法是创建一个执行检查的 Django 管理命令,然后您可以使用服务器上的 cronjob 来安排每分钟一次。
或者,您可以使用异步工作器,它也可以用于频繁地安排重复性任务。最常用的解决方案是 Celery,但它确实有一些学习曲线(这往往体现在可靠性上),而其他一些解决方案(如 Dramatiq)似乎正在努力改进。不过,Celery 可能是最容易找到说明信息的。