in provider/lib/triggers_manager.js [250:290]
this.initAllTriggers = function() {
var method = 'initAllTriggers';
//follow the trigger DB
setupFollow('now');
logger.info(method, 'resetting system from last state');
triggerDB.view(viewDDName, triggersByWorker, {reduce: false, include_docs: true, key: self.worker}, function(err, body) {
if (!err) {
body.rows.forEach(function (trigger) {
var triggerIdentifier = trigger.id;
var doc = trigger.doc;
if (!(triggerIdentifier in self.triggers)) {
//check if trigger still exists in whisk db
var triggerObj = parseQName(triggerIdentifier);
var host = 'https://' + self.routerHost + ':' + 443;
var triggerURL = host + '/api/v1/namespaces/' + triggerObj.namespace + '/triggers/' + triggerObj.name;
logger.info(method, 'Checking if trigger', triggerIdentifier, 'still exists');
self.authRequest(doc, {
method: 'get',
url: triggerURL
}, function (error, response) {
//disable trigger in database if trigger is dead
if (!error && shouldDisableTrigger(response.statusCode)) {
var message = 'Automatically disabled after receiving a ' + response.statusCode + ' status code on init trigger';
disableTrigger(triggerIdentifier, response.statusCode, message);
logger.error(method, 'trigger', triggerIdentifier, 'has been disabled due to status code:', response.statusCode);
}
else {
createEventProviderTrigger(initTrigger(doc))
}
});
}
});
} else {
logger.error(method, 'could not get latest state from database', err);
}
});
};