A customer came to us today with a misbehaving Sendy list segments function. They reached out to us on Fiverr. According to their explanation, the segments they have added to Sendy list is consistently changing every few seconds.
We had also gained access to their Sendy account and witnessed this behavior customer explained. It was a bizarre error we've never seen on our Sendy setups. We didn't do the initial Sendy installation for them.
However after investigating, we tracked the issue down to incorrect cronjobs schedule. The cronjob for segment processing needs to be run every 15 minutes. This is what Sendy suggests. But this Sendy installation had it configured to run every minute.
Segments cronjob shouldn't run every minute. It has the potential to crash the whole server.
Every time the the cronjob runs, Sendy begins to build the segment in the background. And the new stats are added to the database in real time. You get to see this new stats printed on your screen on every page refresh. Cronjob will run for couple of minutes depending on your list size and server resources. You'll see segment count going to zero and increasing slowly if you keep refreshing the page during this period. But it'll be back to normal after the cronjob is complete.
The problem with said Sendy installation was that the cronjob never stopped running. A new cronjob would start every minute. So the segment count displayed on the frontend kept changing.
Installing proper Sendy cronjobs solved the problem.
And you can select a custom cronjob schedule for your segments. If you only send one campaign per day, there's no need to run the segments cronjob every 15 minutes. Running it once a day before the campaign is enough.