replace fs by fs-extra to prevent EMFILE error

This commit is contained in:
Rigel Kent 2018-08-27 13:28:49 +02:00 committed by Chocobozzz
parent 0ee027347a
commit c9d5c64f98
18 changed files with 19 additions and 20 deletions

View File

@ -100,6 +100,7 @@
"express-validator": "^5.0.0", "express-validator": "^5.0.0",
"flat": "^4.1.0", "flat": "^4.1.0",
"fluent-ffmpeg": "^2.1.0", "fluent-ffmpeg": "^2.1.0",
"fs-extra": "^7.0.0",
"helmet": "^3.12.1", "helmet": "^3.12.1",
"ip-anonymize": "^0.0.6", "ip-anonymize": "^0.0.6",
"ipaddr.js": "https://github.com/whitequark/ipaddr.js.git#8e69afeb4053ee32447a101845f860848280eca5", "ipaddr.js": "https://github.com/whitequark/ipaddr.js.git#8e69afeb4053ee32447a101845f860848280eca5",
@ -110,7 +111,6 @@
"jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017", "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017",
"lodash": "^4.17.10", "lodash": "^4.17.10",
"magnet-uri": "^5.1.4", "magnet-uri": "^5.1.4",
"mkdirp": "^0.5.1",
"morgan": "^1.5.3", "morgan": "^1.5.3",
"multer": "^1.1.0", "multer": "^1.1.0",
"nodemailer": "^4.4.2", "nodemailer": "^4.4.2",

View File

@ -1,5 +1,5 @@
import { doRequest } from '../server/helpers/requests' import { doRequest } from '../server/helpers/requests'
import { readFileSync } from 'fs' import { readFileSync } from 'fs-extra'
run() run()
.then(() => process.exit(0)) .then(() => process.exit(0))

View File

@ -1,5 +1,5 @@
import * as jsToXliff12 from 'xliff/jsToXliff12' import * as jsToXliff12 from 'xliff/jsToXliff12'
import { writeFile } from 'fs' import { writeFile } from 'fs-extra'
import { join } from 'path' import { join } from 'path'
import { import {
buildLanguages, buildLanguages,

View File

@ -1,5 +1,5 @@
import * as xliff12ToJs from 'xliff/xliff12ToJs' import * as xliff12ToJs from 'xliff/xliff12ToJs'
import { readFileSync, unlink, writeFile } from 'fs' import { readFileSync, unlink, writeFile } from 'fs-extra'
import { join } from 'path' import { join } from 'path'
import { buildFileLocale, I18N_LOCALES, isDefaultLocale } from '../../shared/models/i18n/i18n' import { buildFileLocale, I18N_LOCALES, isDefaultLocale } from '../../shared/models/i18n/i18n'
import { eachSeries } from 'async' import { eachSeries } from 'async'

View File

@ -1,5 +1,5 @@
import * as program from 'commander' import * as program from 'commander'
import { createReadStream, readdirSync, statSync } from 'fs' import { createReadStream, readdirSync, statSync } from 'fs-extra'
import { join } from 'path' import { join } from 'path'
import { createInterface } from 'readline' import { createInterface } from 'readline'
import * as winston from 'winston' import * as winston from 'winston'

View File

@ -1,5 +1,5 @@
import * as cors from 'cors' import * as cors from 'cors'
import { createReadStream } from 'fs' import { createReadStream } from 'fs-extra'
import * as express from 'express' import * as express from 'express'
import { CONFIG, STATIC_DOWNLOAD_PATHS, STATIC_MAX_AGE, STATIC_PATHS, ROUTE_CACHE_LIFETIME } from '../initializers' import { CONFIG, STATIC_DOWNLOAD_PATHS, STATIC_MAX_AGE, STATIC_PATHS, ROUTE_CACHE_LIFETIME } from '../initializers'
import { VideosPreviewCache } from '../lib/cache' import { VideosPreviewCache } from '../lib/cache'

View File

@ -3,7 +3,7 @@ import { join } from 'path'
import { CONFIG } from '../initializers' import { CONFIG } from '../initializers'
import { VideoCaptionModel } from '../models/video/video-caption' import { VideoCaptionModel } from '../models/video/video-caption'
import * as srt2vtt from 'srt-to-vtt' import * as srt2vtt from 'srt-to-vtt'
import { createReadStream, createWriteStream } from 'fs' import { createReadStream, createWriteStream } from 'fs-extra'
async function moveAndProcessCaptionFile (physicalFile: { filename: string, path: string }, videoCaption: VideoCaptionModel) { async function moveAndProcessCaptionFile (physicalFile: { filename: string, path: string }, videoCaption: VideoCaptionModel) {
const videoCaptionsDir = CONFIG.STORAGE.CAPTIONS_DIR const videoCaptionsDir = CONFIG.STORAGE.CAPTIONS_DIR

View File

@ -6,8 +6,7 @@
import * as bcrypt from 'bcrypt' import * as bcrypt from 'bcrypt'
import * as createTorrent from 'create-torrent' import * as createTorrent from 'create-torrent'
import { createHash, pseudoRandomBytes } from 'crypto' import { createHash, pseudoRandomBytes } from 'crypto'
import { copyFile, readdir, readFile, rename, stat, Stats, unlink, writeFile } from 'fs' import { copyFile, readdir, readFile, rename, stat, Stats, unlink, writeFile, mkdirp } from 'fs-extra'
import * as mkdirp from 'mkdirp'
import { isAbsolute, join } from 'path' import { isAbsolute, join } from 'path'
import * as pem from 'pem' import * as pem from 'pem'
import * as rimraf from 'rimraf' import * as rimraf from 'rimraf'

View File

@ -1,5 +1,5 @@
// Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/ // Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
import * as mkdirp from 'mkdirp' import { mkdirpSync } from 'fs-extra'
import * as path from 'path' import * as path from 'path'
import * as winston from 'winston' import * as winston from 'winston'
import { CONFIG } from '../initializers' import { CONFIG } from '../initializers'
@ -7,7 +7,7 @@ import { CONFIG } from '../initializers'
const label = CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT const label = CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT
// Create the directory if it does not exist // Create the directory if it does not exist
mkdirp.sync(CONFIG.STORAGE.LOG_DIR) mkdirpSync(CONFIG.STORAGE.LOG_DIR)
function loggerReplacer (key: string, value: any) { function loggerReplacer (key: string, value: any) {
if (value instanceof Error) { if (value instanceof Error) {

View File

@ -1,5 +1,5 @@
import * as Bluebird from 'bluebird' import * as Bluebird from 'bluebird'
import { createWriteStream } from 'fs' import { createWriteStream } from 'fs-extra'
import * as request from 'request' import * as request from 'request'
import { ACTIVITY_PUB } from '../initializers' import { ACTIVITY_PUB } from '../initializers'

View File

@ -1,7 +1,7 @@
import { logger } from './logger' import { logger } from './logger'
import { generateVideoTmpPath } from './utils' import { generateVideoTmpPath } from './utils'
import * as WebTorrent from 'webtorrent' import * as WebTorrent from 'webtorrent'
import { createWriteStream } from 'fs' import { createWriteStream } from 'fs-extra'
import { CONFIG } from '../initializers' import { CONFIG } from '../initializers'
import { join } from 'path' import { join } from 'path'
import { unlinkPromise } from './core-utils' import { unlinkPromise } from './core-utils'

View File

@ -1,6 +1,6 @@
import * as Sequelize from 'sequelize' import * as Sequelize from 'sequelize'
import * as Promise from 'bluebird' import * as Promise from 'bluebird'
import { stat } from 'fs' import { stat } from 'fs-extra'
import { VideoModel } from '../../models/video/video' import { VideoModel } from '../../models/video/video'
function up (utils: { function up (utils: {

View File

@ -1,5 +1,5 @@
import * as AsyncLRU from 'async-lru' import * as AsyncLRU from 'async-lru'
import { createWriteStream } from 'fs' import { createWriteStream } from 'fs-extra'
import { unlinkPromise } from '../../helpers/core-utils' import { unlinkPromise } from '../../helpers/core-utils'
import { logger } from '../../helpers/logger' import { logger } from '../../helpers/logger'
import { VideoModel } from '../../models/video/video' import { VideoModel } from '../../models/video/video'

View File

@ -7,7 +7,7 @@ import { UserModel } from '../models/account/user'
import { VideoModel } from '../models/video/video' import { VideoModel } from '../models/video/video'
import { JobQueue } from './job-queue' import { JobQueue } from './job-queue'
import { EmailPayload } from './job-queue/handlers/email' import { EmailPayload } from './job-queue/handlers/email'
import { readFileSync } from 'fs' import { readFileSync } from 'fs-extra'
class Emailer { class Emailer {

View File

@ -5,7 +5,7 @@ import { AbstractScheduler } from './abstract-scheduler'
import { SCHEDULER_INTERVALS_MS } from '../../initializers' import { SCHEDULER_INTERVALS_MS } from '../../initializers'
import { logger } from '../../helpers/logger' import { logger } from '../../helpers/logger'
import * as request from 'request' import * as request from 'request'
import { createWriteStream, writeFile } from 'fs' import { createWriteStream, writeFile } from 'fs-extra'
import { join } from 'path' import { join } from 'path'
import { mkdirpPromise, root } from '../../helpers/core-utils' import { mkdirpPromise, root } from '../../helpers/core-utils'

View File

@ -1,7 +1,7 @@
/* tslint:disable:no-unused-expression */ /* tslint:disable:no-unused-expression */
import { expect } from 'chai' import { expect } from 'chai'
import { existsSync } from 'fs' import { existsSync } from 'fs-extra'
import { join } from 'path' import { join } from 'path'
import { Account } from '../../../../shared/models/actors' import { Account } from '../../../../shared/models/actors'
import { readdirPromise } from '../../../helpers/core-utils' import { readdirPromise } from '../../../helpers/core-utils'

View File

@ -1,7 +1,7 @@
/* tslint:disable:no-unused-expression */ /* tslint:disable:no-unused-expression */
import { expect } from 'chai' import { expect } from 'chai'
import { existsSync, readFile } from 'fs' import { existsSync, readFile } from 'fs-extra'
import * as parseTorrent from 'parse-torrent' import * as parseTorrent from 'parse-torrent'
import { extname, join } from 'path' import { extname, join } from 'path'
import * as request from 'supertest' import * as request from 'supertest'

View File

@ -1,5 +1,5 @@
import * as program from 'commander' import * as program from 'commander'
import { access, constants } from 'fs' import { access, constants } from 'fs-extra'
import { isAbsolute } from 'path' import { isAbsolute } from 'path'
import { promisify } from 'util' import { promisify } from 'util'
import { getClient, login } from '../tests/utils' import { getClient, login } from '../tests/utils'