Update membership highlights report to run via crons with db cache
To create a better user experience, we will be making an update to change from URL polling to fetch membership highlights. Currently, the highlights are generated at request time and takes a few minutes to calculate. This leads to HTTP timeouts and bad user experience. To better support our usage, we should do a few upgrades to the system:
- Upgrade the calculation to be progressive using a DB table as cache
- Using a scheduled cron task, send the report once a quarter to the membership/marketing team
These 2 upgrades should make the report much more usable while spreading the system load over time to keep the churn to a minimum.