Running a Script with Job Scheduler API
If you want to schedule it every 6 hours, then it's 'crontab' =&gt; '0 /6 * * *'
The README.txt contains examples:



 /* Declare scheduler. */

  function example_cron_job_scheduler_info() {
    $schedulers = array();
    $schedulers['example_unpublish'] = array(
      'worker callback' =&gt; 'example_unpublish_nodes',
    );
    return $schedulers;
  }

 /* Add a job. */

  $job = array(
    'type' =&gt; 'story',
    'id' =&gt; 12,
    'crontab' =&gt; '0 /6 * * *', // I changed this line.
    'periodic' =&gt; TRUE,
  );
  JobScheduler::get('example_unpublish')-&gt;set($job);

 /* Work off a job. */

  function example_unpublish_nodes($job) {
    // Do stuff.
  }

 /* Remove a job. */

  $job = array(
    'type' =&gt; 'story',
    'id' =&gt; 12,
  );
  JobScheduler::get('example_unpublish')-&gt;remove($job);



'worker callback' =&gt; 'custom_job' it's bad practice to not include the name of your module in your callback. This is to prevent collisions. You should name it module_name_custom_callback. In your case it would be 'callback' =&gt; 'jobbank_custom_job'

The Job Scheduler is only going to schedule it, not run it. It will get run whenever cron runs. So if you have cron run set to once a day, it will only run your scheduled task once a day. Therefore, you will have to set cron to run every 6 hours or fewer.

Alternatively, I suggest you use a module like Ultimate   Cron which allows you to schedule different cron run times for different cron tasks. So you can set it to every 6 hours here.

This is the proper Drupal way to programmatically send e-mails How to programmatically send an email?