Is it an idea to run the cron, but only give them the first trophy they should get in the list, until the cron is run again? This way the user gets a spread of alerts about being active, rather than everything in one go? I did not think this through, but I think as they keep browsing around and hours pass, they will get the trophies, which seems fine by me.