Cannot get subscriptions to send out at correct intervals
Setting cron to run every 3 hours does not necessarily mean that cron
  will actually run every 3 hours. This is because it is not truly
  automatic. Something needs to trigger cron to run. This trigger
  happens when a user visits the site. As part of dealing with the page
  request, Drupal will check for the last time that cron has been run
  and will run cron as part of the request if it is time to do so. If
  cron is set to run every three hours and three hours has passed since
  the last time it has run, it will run as part of the page request for
  the user that happens to hit the page at that time.
  
  But what happens if you have an extremely low traffic Drupal site,
  application or intranet? If no one visits the site at all, cron will
  not run. Or if a user visits the site and cron is run, and another
  user visits the site 2 hours and 59 minutes later, cron will not run
  because three hours hasn’t passed yet. If a third visitor visits 3
  hours later, then cron will run. But that is almost 6 hours since the
  previous cron run.
  
  Source: Why Drupal cron is not running as often as you think and how to fix it


The solution to this issue is to instead run/trigger cron from your server using crontab.

You can read about it here Why Drupal cron is not running as often as you think and how to fix it and goes over a solution using C-Panel.

If you don't have C-Panel you will have SSH into your server and manually add an entry to your servers crontab:


  The automated cron module has the disadvantage that it is triggered by
  a request, and the unlucky user who sends the request may experience a
  fairly long delay.  For this reason, the automated cron is typically
  used by smaller sites that are unable to create a cron job manually,
  e.g. using the Linux crontab.  If crontab is desired, Drupal console
  command may be used to simplify the configuration (rather than curling
  the long url show in /admin/config/system/cron.  Here is an example
  crontab entry:

30 * * * * web_user /var/www/html/vendor/bin/drupal --
root=/var/www/html/docroot cron:execute &gt; /dev/null 2&gt;&amp;1

  
  This would execute Drupal cron once per hour at 30 minutes after the
  hour.
  
  Source: Automated Cron