How to implement a 'past due' notification in Meteor.js

I have a "task" model (collection) in my app, it has a due date and I'd like to send out notifications once the task is past due.

How should I implement the "past due" property so the system can detect "past due" at any time?

Do I set up cron job to check every minute or is there a better way?

I'd recommend using synced-cron for this. It has a nice interface, and if you expand to multiple instances, you don't have to worry about each instance trying to execute the task. Here is an example of how you could use it:

SyncedCron.add({
  name: 'Notify users about past-due tasks',
  schedule: function(parser) {
    // check every two minutes
    return parser.recur().on(2).minute();
  }, 
  job: function() {
    if(Tasks.find(dueAt: {$lte: new Date}).count())
      emailUsersAboutPastDueTasks()
  }
});

Of course, you'd also want to record which users had been notified or run this less frequently so your users don't get bombarded with notifications.