SebastianWagner created OPENMEETINGS-327:
--------------------------------------------

             Summary: Add Restart Save Mail-Queue
                 Key: OPENMEETINGS-327
                 URL: https://issues.apache.org/jira/browse/OPENMEETINGS-327
             Project: Openmeetings
          Issue Type: Bug
    Affects Versions: 2.0 Apache Incubator Release
            Reporter: SebastianWagner
             Fix For: 2.1 Apache Incubator Release


Currently mails are send "In-Context". Normally in a separated Thread.
But there is no control about the number of Threads, which can lead to problems 
if the server is under heavy load.
Also if you terminate the service while runnning and restart Mails that where 
currently in progress are just gone.

To have better control about it there should be some kind of queueing for the 
Mails to be processed.
To do that one approach would be:
Create a new table "mail_queue" [Fields: id, subject, receipents(can be comma 
separated list), message, sendStatus, errorMessage, starttime, updatetime].
Every time the system wants to send a new mail it will write a new entry in 
this table.
A separated scheduler will check every xx seconds for entries in that table / 
open emails that need to be send and will process them.
Processes emails can be:
 - Either deleted from the table
 - Or maybe better jsut update the sendStatus and delete them via the 
Administration by user on demand to have a chance to look at possible issues 
and errors.
The MailHandler should write problems and errors when sending emails to the 
error field.

Bonus: Would be great if you can see the current Mail-Queue in the 
Administration panel and change the sendStatus to provoke resending it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to