v1.3.6.2 duplicate sending

VVT

Active Member
Hi @twisted1919 ,

I observed that two emails have been sent to a single subscriber for a merged list (list shows correct count) for the same campaign. We can see this clearly on statistics. See attached -

NOTE : pcntl is off.
 

Attachments

  • Campaign_Overview.png
    Campaign_Overview.png
    206.1 KB · Views: 21
  • Delivery_report.png
    Delivery_report.png
    410.5 KB · Views: 16
seems like.. this is actually a merged list.. may be something related to that ?
 
@VVT - i don't think so, it should not matter if it's a merged list or not, in the end it's just a fresh list.
At the moment i have no way to reproduce this, i can only look at soft-points in the sending command to try and see what failed, but atm i have no idea what went wrong, if you send this campaign once again and it does the same, then we'll ssh on server, run send the campaign once again manually and see what happens.
However, meantime if you have any hints, please let me know.
 
Happened this again, investigating.
 

Attachments

  • Campaign overview.png
    Campaign overview.png
    136 KB · Views: 8
  • Delivery_log.png
    Delivery_log.png
    117.6 KB · Views: 8
Example snip from "mw_campaign_delivery_log" for a duplicate entry -

upload_2016-5-3_21-44-44.png

It was sending fine till xth subscriber and started duplicating from (x+1)th subscriber.
 

Attachments

  • upload_2016-5-3_21-45-8.png
    upload_2016-5-3_21-45-8.png
    58.9 KB · Views: 4
@VVT - that is logged in the exact same second, at the same time as far as i can see.
Are you absolutely sure there is just one cron job that does the sending?
I can't imagine any scenario where the app by itself would load same campaign twice in same call.
 
I requested the customer to schedule one more campaign to the same list for troubleshooting.

This is my list of cron jobs, no other user has any cron jobs in place -

# Campaigns sender, runs each minute.
* * * * * /usr/bin/php5 -q /html/apps/console/console.php send-campaigns >/dev/null 2>&1
# Campaigns sender, runs every 10 minutes. This is to increase the no.of linux process to send out more campaigns at same time.
#*/10 * * * * /html/apps/console/commands/shell/send-parallel-campaigns > /dev/null 2>&1

# Transactional email sender, runs once at 2 minutes.
*/2 * * * * /usr/bin/php5 -q /html/apps/console/console.php send-transactional-emails >/dev/null 2>&1

# Bounce handler, runs once at 10 minutes.
*/10 * * * * /usr/bin/php5 -q /html/apps/console/console.php bounce-handler >/dev/null 2>&1

# Feedback loop handler, runs once at 20 minutes.
*/20 * * * * /usr/bin/php5 -q /html/apps/console/console.php feedback-loop-handler >/dev/null 2>&1

# Delivery/Bounce processor, runs once at 3 minutes.
*/3 * * * * /usr/bin/php5 -q /html/apps/console/console.php process-delivery-and-bounce-log >/dev/null 2>&1

# Daily cleaner, runs once a day.
0 0 * * * /usr/bin/php5 -q /html/apps/console/console.php daily >/dev/null 2>&1
 
@twisted1919 as for the timing, I don't think it's necessary to run two jobs at the same time but a serial process can also give similar results as mw can send like 3 emails a second in my case.
 
I don't think it's necessary to run two jobs at the same time but a serial process can also give similar results as mw can send like 3 emails a second in my case.
Yeah but you see, it works a bit differently because this would mean the same subscriber to be selected from the database 3 times at the same time when the subscribers are loaded in the queue, and this really is not likely to happen.

Anyway, best is to disable the cron job that calls the send-campaigns command and then when that campaign is ready for sending, send it manually from command line, like:
Code:
/usr/bin/php5 -q /html/apps/console/console.php send-campaigns --verbose=1
and watch the output.
 
I requested the customer to schedule one more campaign to the same list for troubleshooting.

This is my list of cron jobs, no other user has any cron jobs in place -

# Campaigns sender, runs each minute.
* * * * * /usr/bin/php5 -q /html/apps/console/console.php send-campaigns >/dev/null 2>&1
# Campaigns sender, runs every 10 minutes. This is to increase the no.of linux process to send out more campaigns at same time.
#*/10 * * * * /html/apps/console/commands/shell/send-parallel-campaigns > /dev/null 2>&1

# Transactional email sender, runs once at 2 minutes.
*/2 * * * * /usr/bin/php5 -q /html/apps/console/console.php send-transactional-emails >/dev/null 2>&1

# Bounce handler, runs once at 10 minutes.
*/10 * * * * /usr/bin/php5 -q /html/apps/console/console.php bounce-handler >/dev/null 2>&1

# Feedback loop handler, runs once at 20 minutes.
*/20 * * * * /usr/bin/php5 -q /html/apps/console/console.php feedback-loop-handler >/dev/null 2>&1

# Delivery/Bounce processor, runs once at 3 minutes.
*/3 * * * * /usr/bin/php5 -q /html/apps/console/console.php process-delivery-and-bounce-log >/dev/null 2>&1

# Daily cleaner, runs once a day.
0 0 * * * /usr/bin/php5 -q /html/apps/console/console.php daily >/dev/null 2>&1


What happens due to the overlap of crons re
send-campaigns
and
send-parallel-campaigns
?
 
But that's commented.. I was using that while ago, but now that's obsolete, I commented that out.. Otherwise it was possible.. I removed it anyway.
 
Hi @twisted1919 ,

1) This has happened to me again, this time with a different customer, different list and different type delivery server (Elastic Email). Please see attached. I verified that a set of emails have been sent twice.

2) The "Delivered" count is coming down periodically, may be with the number of bounces going up. It was showing 10079 at the beginning and is now showing 10026 while I'm typing this.

3) See the delivery time. It's visible that the campaign took only 27 mins to finish, but it's showing 1 month 3 weeks ?!


I didn't have a chance to run the cron manually this time because it happened at random. Last time I tried manually for a list that showed the same issue but everything went fine. Now the list, campaign, customer and delivery servers have been ruled out. Will have to look in to something else. This is getting me some bad names :(
 
Back
Top