Posted: December 30, 2019 at 10:46 am
We do quarterly updates on our site. The last two updates of WP and the EE plugin have initiated a resend of email notifications. So all event registrations from the past were resent. Any ideas on this, if this cant be resolved the client wishes to find another event system. Due to the annoyance of every single event registration email being resent on updates. |
|
Hi, It sounds like there are messages that are getting stuck in the queue. Are you using the web server’s email server or are you using a third party email server like Mandrill or SendInBlue? Also, do you know if there’s an alternative to wp_cron set up or does the site just use the normal wp_cron function? In any case, you can go to Event Espresso > Messages, then delete any messages stored in the queue. Also, you can go to Event Espresso > Messages > Settings and set the setting Cleanup of old messages: to 3 months, which will removed the older messages stored in the database. If they’re not stored they cannot be resent. |
|
One other thing to check is if you go to Event Espresso > Messages, does it show a record of messages being sent immediately after the update was done? |
|
All site email is sent using WP Mail SMTP via a separate email server. This is a regular ol wp install on a cpanel server wp chron works just as it should. I went ahead and set the cleanup to 3 months There are 250 emails sent on dec 24th, which is the day I did the updates on site. These are all the resends, I do not think they would have been in the queue since the emails were already sent. So I don’t think clearing the queue would help. Seems like EE is forgetting it sent the email so to speak upon update. |
|
Do you have a database backup from before you did the update on Dec 24? |
|
Yes what should I look for? |
|
You could look for messages in the Pending or failed to send queue. |
|
Not sure which table these are in, in the table _esp_message, it seems as if in october the database structure changed. All messages after oct are just null. What are the chances EE’s database structure changed but the plugin did not update it? data: registration NULL NULL NULL NULL NULL 2 |
|
We check each table before we use it and EE will throw a notice and attempt to fix any issues found automatically, so if we change the DB and somehow it wasn’t applied to your site on update (which tbh is unlikely) EE would either fix it on the next request or constantly throw notices telling you something is wrong and that it is trying to fix it.
That’s not all of the data but looks a lot like a message in the queue that is waiting for generation. Here is an example of one from a test site:
The ‘2’ above is likely from the default priority value of 20, the next column is STS_ID, what does that show for your above example? Can you post the full row, please? |
|
Whole row. This is the last entry, and it’s dec 11th. Everything before oct 21st contains email addresses, subjects, etc. So where are the newer messages stored, or is it failing? 1800 0 220af8fcffc12f30a52158958356af0b 0 email registration NULL NULL NULL NULL NULL 20 MIC 2019-12-11 17:32:40 2019-12-11 17:32:40 |
|
The row you posted is a message that wasn’t generated and wasn’t sent. It seems that after Oct 21 on your site wp_cron was disabled or the Event Espresso message cron tasks were deleted. When you update or reactivate EE it will check to see if all scheduled cron tasks are set up and if they’re not it will add them. So if you had a bunch of messages with status ID You can avoid this by first checking the Event Espresso > Messages page on your site before updating WP or EE. If there are any messages stuck in the queue you can either delete them or send them, then run the updates. |
|
There were only about 70 of these in there with MIC status. There were about 250 resends on the 24th. I still don’t think these were cued up messages, they seem to be resends. On the live site the status is MSN for all of these now. The admin person and the users received these messages for an event on november 14th over a month old. The person who monitors these got a ton of the admin notifications on the 24th so they immediately contacted me to tell me it happened again, that they got all the notifications at once again, and the users did to. |
|
After the transaction is processed and the message gets added to the queue it doesn’t have a MSG_context yet. For every one of the 70 rows there has the potential for multiple contexts: event admin, registrant, primary registrant. So 70 rows after generation could lead to 210 emails being sent. You can verify the above with that messages table row that has TXN_ID 1800. You check the database backup (how many rows have TXN_ID 1800?) then compare the current database (how many rows have TXN_ID 1800?) |
|
No TXN_ID, the highest is 723. The live database does not have message ID 1800 anymore, assumed they get deleted? There is a gap from 1733 to 1801 on the live site, which corresponds to where those messages were saved in db before update. All the nulls were from 1733 to 1800 |
|
My bad, the TXN_ID will be 0 for a message that hasn’t been generated yet. After the message is generated, there normally will be more than one message row for each message in the queue. In other words, if you have 70 rows in the database where their status hasn’t been generated yet, then once they do get generated (even if much later) there could be about 210 messages after they’re generated. |
|
There’s a little bit of confusion above, so first let’s add some details to your MSG_ID => 1800 Some rows are empty so don’t show up in your example, I’ve padded them above. 1800 isn’t the TXN_ID here, it’s the ID of this message row (MSG_ID), as the message hasn’t been generated it has no TXN_ID yet (nothing has been generated, this row can be considered as nothing more than a placeholder at this point).
The fact those 70 rows are now showing MSN (MESSAGE_STATUS_SENT) means that each of those queued for generation rows has been generated (which, as Josh mentioned can produce more than 70 emails), queued for sending and then sent. (Just to add some additional info, a status of ‘MIC’ MESSAGE_INCOMPLETE, meaning the messages has been added and queued for generation) Registration Approved messages (which I assume most of these are) will generate a minimum of 2 contexts by default, so if we say all of those are Reg Approved emails, that’s a minimum of 140 emails. Group emails will trigger 2+n emails (Event Admin, Primary Registrant (as the registrant context) + any additional registrations) meaning some of those single rows can be 3 or more emails. Point being that just because there are 70 rows here doesn’t mean you’ll get 70 emails, you’ll certainly see more in the queue than 70 from those.
Correct, a MIC message row will be ‘used’ (although not really, it’s a little easier to follow) to generate the messages related to it, which is where all the contexts mentioned above come into it. 1800 will be replaced at least 2 additional rows that have generated content will be added. So 1800 was your last message row on before the update, what is the highest current MSG_ID on the live site? The difference between gives you a better idea of how many messages were actually generated and sent from the above group (give or take any registrations that triggered emails between now and then). This question should be answered as it is important:
Nothing has ‘changed’ in the DB there, the difference is just that the messages before oct 21st appear to have been generated yet everything after that has not. The NULLS are valid, they are expected for messages that are queued for generation (although them sitting in the queue for generation for so long is not). The problem appears to be that messages stopped generating from oct 21st onwards. That row was timestamped for 2019-12-11, meaning it’s been sitting in the queue way before you did the update. The updated basically refreshed the cron jobs which meant emails started generating and sending, it all looks like a backlog rather than a resend — Are you 100% certain the ‘original’ emails sent? I can’t see how when they are sitting in in the queue to generate, meaning they don’t actually know where they are sending yet (note how MSG_to is NULL). — Note that we are not saying there isn’t an issue here and we are investigating, however, EE working through a backlog of queued for generation emails is a totally separate issue from EE regenerating all the emails from scratch (I can’t see how that would be possible tbh) so we are just trying to narrow down what actually happened a little. |
|
Thanks for the details. I agree that the update may have unstuck some old queued up messages. I need to monitor the site for a few months to see if any messages end back up in the queue and stuck before providing more details and trying to discover the issue. There seem to be none in the queue with the MIC status at the moment. |
|
The support post ‘Event notifications resent after update’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.