Я работаю над критически важным приложением. Приложение извлекает данные фондового рынка с различных фондовых рынков, таких как NYSE, NASDAQ и т. д., используя сторонние службы. Клиенты могут зайти в приложение и добавить свой Портфель (акции какой компании у них есть). А затем установите Оповещения. например. Сообщите мне, когда цена AAPL превысит $xxx на NASDAQ. когда цена MSFT опускается ниже $zzz на NYSE.
У меня есть задание cron, которое извлекает рыночные данные из стороннего сервиса для всех добавленных пользователями тикеров (AAPL, GOOG, MSFT и т. Д.) Каждую 1 минуту. После того, как я получаю данные, я извлекаю все оповещения, созданные пользователями, а затем отправляю им уведомления по электронной почте, SMS, Pushover, Twitter, Facebook Message и т. д. Также добавляю это уведомление в базу данных приложения, чтобы пользователь мог видеть его в приложении, когда они авторизоваться.
Теперь, поскольку это приложение требует много времени, невозможность получить данные может привести к большим потерям, поскольку клиенты платят за критически важные данные.
В настоящее время я отправляю всю часть отправки уведомлений в Queue. Рабочий (на моем сервере) отправляет уведомление. Есть ли другие лучшие способы делегировать как можно больше работы сторонним серверам? Вы бы порекомендовали использовать Iron.io worker, чтобы он также выполнял работу по отправке уведомлений. И может также получать данные с рынка.
Спасибо!