X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Futils.js;h=6d40e8f3fce3451f40b7e541fa6481f05cc6fddf;hb=f282639b07deee1e35403bd86c46ea521fb4845e;hp=fb4dd08cc6df36e2f97676fbb5c04723fdb78741;hpb=d6a5b018b89f9d2569ca7435b0e270095c93cc17;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/utils.js b/server/helpers/utils.js index fb4dd08cc..6d40e8f3f 100644 --- a/server/helpers/utils.js +++ b/server/helpers/utils.js @@ -1,18 +1,16 @@ 'use strict' const crypto = require('crypto') -const retry = require('async/retry') const logger = require('./logger') const utils = { badRequest, + createEmptyCallback, cleanForExit, generateRandomString, isTestInstance, - getFormatedObjects, - retryWrapper, - transactionRetryer + getFormatedObjects } function badRequest (req, res, next) { @@ -32,6 +30,12 @@ function cleanForExit (webtorrentProcess) { process.kill(-webtorrentProcess.pid) } +function createEmptyCallback () { + return function (err) { + if (err) logger.error('Error in empty callback.', { error: err }) + } +} + function isTestInstance () { return (process.env.NODE_ENV === 'test') } @@ -49,37 +53,6 @@ function getFormatedObjects (objects, objectsTotal) { } } -// { arguments, errorMessage } -function retryWrapper (functionToRetry, options, finalCallback) { - const args = options.arguments ? options.arguments : [] - - utils.transactionRetryer( - function (callback) { - return functionToRetry.apply(this, args.concat([ callback ])) - }, - function (err) { - if (err) { - logger.error(options.errorMessage, { error: err }) - } - - // Do not return the error, continue the process - return finalCallback(null) - } - ) -} - -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