diff --git a/src/PersistentScheduler.coffee b/src/PersistentScheduler.coffee index d1266c8..8eb68e1 100644 --- a/src/PersistentScheduler.coffee +++ b/src/PersistentScheduler.coffee @@ -125,8 +125,9 @@ class PersistentScheduler extends Scheduler if err then throw new util.Error err todoEvents = unsolvedOneTimeEvents.concat oneTimeEvents - for {timestamp, event, payload} in todoEvents + for {id, timestamp, event, payload} in todoEvents @schedule timestamp, event, payload + @store.remove id, () -> # Public api. diff --git a/src/Store.coffee b/src/Store.coffee index ea08b09..22af5ff 100644 --- a/src/Store.coffee +++ b/src/Store.coffee @@ -148,6 +148,16 @@ class Store return callback null, event.done is true + remove: (eventId, callback) -> + ### + Removes a one-time event. + @return {Boolean} whether the event was removed or not. + ### + @EventModel.remove {_id: eventId}, + (err) -> + if err? then return callback err + return callback null, true + # Public API module.exports = Store