Слияние кода завершено, страница обновится автоматически
const os = require("os");
const getDefaultMaxBrowserCount = function (){
let freeMem = os.freemem() / (1024 * 1024);
// 单浏览器实例,配备2cpu和250M内存
return Math.max(1,~~Math.min(os.cpus().length * 0.7,freeMem / 250))
}
const getDefaultMaxCommandCount = function (){
return Math.max(2,os.cpus().length * 1.5);
}
let maxBrowser = ~~ process.env.MAX_BROWSER || getDefaultMaxBrowserCount();
let maxCommand = ~~ process.env.MAX_COMMAND || getDefaultMaxCommandCount();
const Config = {
appDebug: process.env.APP_DEBUG === 'true',
serverPort: process.env.SERVER_PORT || '3000',
// 本地储存,PDF保存1天 , 0: 不清理PDF文件
pdfKeepDay : ~~process.env.PDF_KEEP_DAY,
// 最大浏览器实例数,0: 未指定则
maxBrowser: maxBrowser,
// 浏览器任务排队最大任务数, 参考下平均任务时长,防止超时。
// 超过最大排队数直接响应失败,如果平均任务时长较短,可以设置一个较大的倍率
maxBrowserTaskWaiting: maxBrowser * 10,
// 最大命令行进程数(wkhtmltopdf)
maxCommand: maxCommand,
// 命令行任务排队最大任务数, 参考下平均任务时长,防止超时。
// 超过最大排队数直接响应失败,如果平均任务时长较短,可以设置一个较大的倍率
maxCommandTaskWaiting: maxBrowser * 15,
// 阻止host为ip的URL资源代理
blockIpUrl : !!process.env.BLOCK_IP_URL,
// 浏览器程序执行程序路径
puppeteerExecutablePath : process.env.PUPPETEER_EXECUTABLE_PATH,
// 制作的pdf文件储存配置
storage : {
type: process.env.STORAGE_TYPE || 'file',
bucket: process.env.STORAGE_BUCKET,
region: process.env.STORAGE_REGION,
appId : process.env.STORAGE_APP_ID,
appSecret : process.env.STORAGE_APP_SECRET,
}
}
module.exports = Config;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )