Moodle

Bulk messaging jams site

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: 1.9
  • Fix Version/s: None
  • Component/s: Messages
  • Labels:
    None
  • Environment:
    win2k3
  • Database:
    MySQL
  • Affected Branches:
    MOODLE_19_STABLE

Description

Bulk messaging seems to prevent me from loading any other page from the site (in other tabs/windows) whilst its processing the outgoing messages. Server load is about 15% CPU at the time, almost no disk use. Not sure what's going on. I've not tested whether its jammed for other users too

Issue Links

Activity

Hide
Petr Škoda (skodak) added a comment -

most probably the cause is slow sending through smtp server, because the session is open no other page can load, the only solution for now is to get faster smtp server.

in the long term we could queue the messages or close the php session before sending...

Show
Petr Škoda (skodak) added a comment - most probably the cause is slow sending through smtp server, because the session is open no other page can load, the only solution for now is to get faster smtp server. in the long term we could queue the messages or close the php session before sending...
Hide
Matt Gibson added a comment -

Hi Petr,

This is causing more of a problem for me as more people use bulk messaging. Is it possible to close the session after each message is sent, then re-open it?

Show
Matt Gibson added a comment - Hi Petr, This is causing more of a problem for me as more people use bulk messaging. Is it possible to close the session after each message is sent, then re-open it?
Hide
Anthony Borrow added a comment -

Petr - Regarding bulk messaging, I would expect the default behavior to be to simply add the messages into the mdl_message table and then let the actual sending to the smtp server be triggered by cron. I've not looked at the code so I am not sure what actually happens or if this would even be feasible but it was intuitive expectation of what should happen. I remember being surprised at how long it took for the page to process considering it is usually not that much data. Peace - Anthony

Show
Anthony Borrow added a comment - Petr - Regarding bulk messaging, I would expect the default behavior to be to simply add the messages into the mdl_message table and then let the actual sending to the smtp server be triggered by cron. I've not looked at the code so I am not sure what actually happens or if this would even be feasible but it was intuitive expectation of what should happen. I remember being surprised at how long it took for the page to process considering it is usually not that much data. Peace - Anthony
Hide
Petr Škoda (skodak) added a comment -

Session reopening is not supported because it may cause session data loss. I do not think it will be easy to fix, my own priority now is to make sure the new messaging in 2.0dev actually works

Show
Petr Škoda (skodak) added a comment - Session reopening is not supported because it may cause session data loss. I do not think it will be easy to fix, my own priority now is to make sure the new messaging in 2.0dev actually works
Hide
Mike Worth added a comment -

I'm also having this issue.

As far as using cron to do the mailing, this sounds like a very good idea as it solves another problem with the messaging- if you send someone a message just after they logout it doesn't get emailed. If it were done by cron it could just check for any message that had neither been read nor emailed and is more than 10mins(configurable probably) old

Mike

Show
Mike Worth added a comment - I'm also having this issue. As far as using cron to do the mailing, this sounds like a very good idea as it solves another problem with the messaging- if you send someone a message just after they logout it doesn't get emailed. If it were done by cron it could just check for any message that had neither been read nor emailed and is more than 10mins(configurable probably) old Mike

People

Vote (2)
Watch (3)

Dates

  • Created:
    Updated: