【发布时间】:2023-03-10 12:58:01
【问题描述】:
我正在开发一个关键任务应用程序。 该应用程序使用第三方服务从不同的股票市场(如纽约证券交易所、纳斯达克等)获取股票市场数据。 客户可以来到应用程序并添加他们的投资组合(他们拥有哪家公司的股票)。 然后设置警报。例如。当 AAPL 价格在纳斯达克超过 $xxx 时通知我。当 MSFT 在纽约证券交易所的价格低于 $zzz 时。
我有一个 cron 作业,每 1 分钟从第三方服务获取用户添加的所有代码(AAPL、GOOG、MSFT 等)的市场数据。 获取数据后,我获取用户创建的所有警报,然后通过电子邮件、SMS、Pushover、Twitter、Facebook 消息等向他们发送通知。还将该通知添加到应用程序的数据库中,以便用户可以在应用程序中看到他们登录。
现在,由于这是一个时间密集型应用程序,未能获取数据可能会导致重大损失,因为客户正在为时间关键的数据付费。
目前,我正在将所有通知发送部分推送到队列。工人(在我的服务器上)发送通知。 还有其他更好的方法可以将尽可能多的工作委派给第三方服务器吗? 您是否会推荐使用 Iron.io 工作程序,以便它也可以完成发送通知的工作。 并且可能还从市场中获取数据。
谢谢!
【问题讨论】:
标签: backgroundworker message-queue software-design worker-process iron.io