Cron is a time based job-scheduler. It means that for every schedule that will be passed , it's gonna  do something based on what task is given from the instruction . Drupal has default cron service but only limited features like asking only how much time interval and not the specific datetime. We can overcome this problem by overriding the drupal cron service. 

 

  1. Navigate the settings.php file from the directory /sites/default/files/
  2. Add $config['automated_cron.settings']['interval'] = 60;

This code will run the cron service for every 1 minute by default. 

 

3. Install Ultimate Cron module from  https://www.drupal.org/project/ultimate_cron

Ultimate Cron provides more features than the default drupal cron. This can give more advanced settings like controlling every module that has cron functionality and also can give specific datetime schedule per function.

4.Navigate /admin/config/system/cron/jobs to configure cron

5.Run button will manually run the function for a specific module

 

Ultimate cron has also feature that can log the status of each functions . This will be very helpful for debugging

 

 

6. Navigate to cron jobs tab to set the schedule for the function to trigger .

There is documentation below to guide you for creating schedule.