Page MenuHomePhabricator

Large Notifications Fail
Closed, ResolvedPublic

Description

Author: rick.blasingim

Description:
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
notifications fail.

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.


Version: 1.9.x
Severity: normal
OS: Windows NT
Platform: PC

Details

Reference
bz9638

Event Timeline

bzimport raised the priority of this task from to Normal.Nov 21 2014, 9:35 PM
bzimport added a project: MediaWiki-Email.
bzimport set Reference to bz9638.
bzimport added a subscriber: Unknown Object (MLST).
bzimport created this task.Apr 20 2007, 5:33 PM
brion added a comment.Apr 25 2007, 7:44 PM

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.

robchur wrote:

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.