I have a rails application that is in fact a backend of a popular IOS 
application which have a user base of *200k users* who need to be notified 
time to time.


Daily *40-50k users* will be notified using push notifications. These push 
notifications will be*realtime* and *scheduled* ones. eg: if a new users 
signs up he will be notified within few seconds. eg: scheduled 
notifications will run at 10 pm daily with limited users ranging 10k-30k or 
sometimes more upto 100k.


I also will be doing business reporting to generate list of users 
fulfilling certain criteria and it requires firing mysql queries that could 
take upto 1-2 minutes of time.


My area of concern is *should i have a seperate application with seperate 
mirror db* to send push notifications to these users so my IOS users doesnt 
feel lag while using this application when push notifications are triggered 
or business reporting query is triggered.

Or *should i use background jobs* like *Rails Active job, Sidekiq or Sucker 
Punch* to perform push notifications and triggering business reporting 
queries.

Is background jobs in rails so powerful that it can manage this condition 
and doesn't let App users to feel lag in experience.


My application stack is:

Rails: 4.1.6Ruby: 2.2
DB: MysqlPaaS: AWS Elastic Beans
IOS Push gem: Houston

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/743ed6ef-08aa-4531-8b2c-f7dc31d013c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to