I've hit the dreaded 200 emails per hour list at my hosting provider, and the number of users signed up for notify is above that.

I took a look at the code and found no easy way (without a change to the schema) to do a patch to notify to change its rapid-fire output.

Does anyone have any suggestions on this? I'd like to limit notify to 150 messages per cron run, for example.

Ways to solve it that I've thought of:

1. Modify Notify to put the datestamp into the notify table, instead of having it as a variable. Then do the query against the users who need notify, and limit the number of results. That way only the configured number of users would be notified on each cron run.

2. Implement batching and throttling in a downstream module (like smtp). The SMTP module could accept mail and batch it into a database table, then gather and send it at a throttled rate when called by a cron. This is a far better and more general solution, but a bit more ambitious also.

Does anyone have any other workarounds? Ideas? Proposals?

Thanks,
-Randy

Comments

rfay’s picture

Status: Active » Closed (fixed)