Use the package percolate:synced-cron
Define a job:
 SyncedCron.add({
  name: 'Find new matches for a saved user filter and send alerts',
  schedule: function(parser) {
    // parser is a later.parse object
    return parser.text('every 10 minutes');
  },
  job: function() {
    user.alerts.map(a => a.findMatchesAndAlert());
  }
});
Starting up your defined jobs:
SyncedCron.start();
It supports syncronizing jobs between multiple processes, like Galaxy with more than 1 container.