mailpoet scheduled newsletters not sending
on the arc.commons.gc.cuny.edu site, we're using the mailpoet premium plugin to send scheduled newsletters. the newsletters are working fine when they are sent manually, but scheduled newsletters aren't getting sent.
after the scheduled job doesn't run and it's status says "not sent", i can click on the scheduled job and it will send immediately.
the expected behavior is that the plugin automatically runs the job at the scheduled time using a pseudo-cron functionality. my guess is that the cron job is not triggering.
the premium plugin has a separate "wysija cron" functionality, which was enabled (i just disabled it to see if that works for the next scheduled email). it's supposed to set up a separate pseudo-cron job that is triggered by hits to a site-specific link, and the wysija servers are supposed to hit that link periodically (i suppose) to ensure that the cron job runs if site traffic isn't sufficient to automatically trigger the built-in wp-cron.
one possible solution is to add actual cron jobs to the server, but this is not a robust solution since i'm running the plugin on several sites and it would require adding additional cron jobs for every site using the plugin.
one possible source of the error is that the automatic wysija cron pinging is url specific and isn't working on the commons' subdomain structure. this would require opening a ticket with wysija, but i wanted to check in here first to flag the issue.
#1 Updated by Boone Gorges over 7 years ago
- Category name set to WordPress Plugins
- Status changed from New to Assigned
- Assignee set to Boone Gorges
- Target version set to 1.5.21
Thanks for the details, Keith. We use wp-cron for a number of things here on the Commons, so it's definitely working in general, but it's possible that there are path issues directly related to Mailpoet. I'll look into it.
#3 Updated by Keith Miyake over 7 years ago
Thanks, Boone. In the meantime I've changed the plugin's settings to use the built-in wp-cron instead of the wysija cron, and it seemed to have worked this morning. This seems like a duct tape fix, though; I don't think it's the default setting when the premium plugin is activated.
#4 Updated by Boone Gorges over 7 years ago
- Status changed from Assigned to Reporter Feedback
- Target version changed from 1.5.22 to Not tracked
Hi Keith - I've done some more research into the situation. Basically, it looks like the Wysija "cron" is really just a pinging service - it's supposed to ping your site every 15 minutes, which activates your wp-cron. (I think that's what you've said above, but I'm repeating it for my own sanity.) It's primarily meant for very low-traffic sites, where wp-cron wouldn't be triggered in the natural course of things. It's not actually a replacement for wp-cron.
I'm guessing that you're correct that Mailpoet is just sending a ping to commons.gc.cuny.edu, not to any subdomains.
It looks like we could ask them for additional pings, but it's just as easy for me to set up my own cronjob. I have done so - it should visit arc.commons.gc.cuny.edu every 15 minutes. This doesn't really solve the problem more broadly, since I'll have to create a new cron job for any site that wants to have this feature, but I'd have to do that if we used Wysija's pinger anyway (they'd be setting up the new pings instead of me). This is probably something we should do a better job of documenting.
Anyway, can we somehow verify whether this is working? Maybe you could switch your settings back to the "Wysija" setting to see if our native cron job is triggering the email send. If so, I think we'll just go ahead and make this our new procedure, and try to write up some decent docs for it.
#6 Updated by Keith Miyake over 7 years ago
boone, i'm sorry this completely slipped off my radar. i just tried switching to the wysija cron and it seemed to work, but i'm not sure if it was triggered by your cron job or the default wp-cron just worked...i'll leave it set like this for now and if it doesn't send at the next scheduled time (next monday morning) then i'll follow up, but for now i think it's resolved.