Last modified: 2010-05-15 15:48:27 UTC
Some of our articles have 1200+ accounts watching. We've found that 50-100
notifications are sent before the update is lost and the rest of the
The problem is max_execution_time in PHP.ini. Unless we tweak this value, we're
limited to the number of notifications that can be sent in 30 seconds. For 1200
notifications, we're guessing we'd have to tweak it to 20 minutes. Most editors
will assume there's a been a failure if it takes 20 minutes to make an update.
The best solution would seem to be less e-mail. Would it be possible to have
multiple addresses on the same message? Maybe use the BCC field to hide them?
Does SMTP have limits on adresses or field size?
Or...would it possible to have the update made BEFORE the notifications are
sent? I don't know if that would change the editors' experience in terms of
wait time, but updates wouldn't be lost.
The notification mails have per-user customizations, including language
preference and the last-seen version used to create diff links, so it's
necessary to do generate them per-user.
There probably are optimizations that can be made, though. Sending multiple
mails over one connections? Batching? Background queue? Dunno exactly.
River has introduced the $wgEnotifImpersonal and $wgEnotifUseJobQ options in
trunk to help with large sites.
Fixed by r21897 r21898 r21924 r21925 r21961 at least. Those would
be in MediaWiki 1.11.