Instead of trying to process all data at runtime, give the option to "queue" up the requests and analyze them by a cron job or some other monitoring process.
To implement:
Store incoming data (serialized maybe?) into the data storage (Mongo right now)
Create a console command to pull out the items not marked as processed and evaluate
Report these back to an admin user or some other alerting system
Instead of trying to process all data at runtime, give the option to "queue" up the requests and analyze them by a cron job or some other monitoring process.
To implement: