'use strict'
const crypto = require('crypto')
+const retry = require('async/retry')
const logger = require('./logger')
cleanForExit,
generateRandomString,
isTestInstance,
- getFormatedObjects
+ getFormatedObjects,
+ transactionRetryer
}
function badRequest (req, res, next) {
}
}
+function transactionRetryer (func, callback) {
+ retry({
+ times: 5,
+
+ errorFilter: function (err) {
+ const willRetry = (err.name === 'SequelizeDatabaseError')
+ logger.debug('Maybe retrying the transaction function.', { willRetry })
+ return willRetry
+ }
+ }, func, callback)
+}
+
// ---------------------------------------------------------------------------
module.exports = utils