fluxible-action-utils
fluxible-action-utils copied to clipboard
Consider adding a simple mechanism to timeout an entire block
Right now we don't have specify any timeouts for our actions, so theoretically, the initializePage
page action can run forever if even one of the multiple actions takes too long.
Possible method signature:
function executeMultiple(context, actions, done, {
timeouts: {
total: {
time: 200,
handler: function (err, data) {
if (err.statusCode === 500) {
// a critical action failed
} else {
// timeout with no criticals
}
}
}
}
}
The handler should be wrapped to check if any critical tasks failed before being called with a 500 error
This would be a nice enhancement, in the meantime, ideally, you should already be setting timeouts on the service calls your individual actions depend on so that your actions in bulk do not run "forever".