This is not effective database-wise and I suggest to change the loop.
Currently it makes a read for every user in the system, no matter if there are subscriptions or not.
It may be better to initially read all the NotificationRequest resources and all associations at once and then bucket in memory.