UNPKG

16.2 kBSource Map (JSON)View Raw
1{"version":3,"file":"ProxyTests.js","names":["_err","_interopRequireDefault","require","_module","_tryJSONparse","_bluebird","_find","_flatten","_get","_groupBy","_isFunction","_pick","_shuffle","_createRequest","_excluded","_excluded2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getId","_ref","proxy","test","get","id","join","ProxyTests","_Module","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","config","concurrency","tryJSONparse","process","env","PREFETCH","cacheTimeout","cache","results","proxyStats","updatedAt","_createClass2","value","request","req","_ref2","undefined","props","_objectWithoutProperties2","isFunction","_execTest","_asyncToGenerator2","_regenerator","mark","_callee","_ref3","_ref3$test","apm","stats","log","res","startedAt","expired","_args","wrap","_callee$","_context","prev","next","app","module","sent","createChild","name","createRequest","labels","proxyTest","proxyKey","Date","status","t0","errCode","Err","getCode","time","now","expiredAt","abrupt","stop","execTest","getCache","setCache","groupBy","updateCache","_this2","map","getResults","_runTest","_callee2","_ref4","testId","_ref4$force","force","_args2","_callee2$","_context2","find","tests","runTest","getProxyStats","proxyList","proxyKeys","pick","_runTests","_callee3","_this3","_ref5","_ref5$force","_args3","_callee3$","_context3","startTimer","Bluebird","shuffle","stopTimer","flatten","runTests","_x","Module","exports","_default"],"sources":["../src/ProxyTests.js"],"sourcesContent":["import Err from '@lskjs/err';\nimport Module from '@lskjs/module';\nimport tryJSONparse from '@lskjs/utils/tryJSONparse';\nimport Bluebird from 'bluebird';\nimport find from 'lodash/find';\nimport flatten from 'lodash/flatten';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport isFunction from 'lodash/isFunction';\nimport pick from 'lodash/pick';\nimport shuffle from 'lodash/shuffle';\n\nimport { createRequest } from './createRequest';\n\nconst getId = ({ proxy, test }) => [get(proxy, 'key'), test.id].filter(Boolean).join('_');\n\nexport class ProxyTests extends Module {\n config = {\n concurrency: tryJSONparse(process.env.PREFETCH) || 50,\n cacheTimeout: 15 * 60 * 1000,\n };\n cache = {\n results: {},\n proxyStats: {},\n updatedAt: null,\n };\n request(req, { request, ...props } = {}) {\n if (isFunction(req)) {\n return req({\n request,\n ...props,\n });\n }\n return request({\n ...req,\n ...props,\n });\n }\n async execTest({ id, proxy, test = {} } = {}) {\n const apm = await this.app.module('apm');\n const stats = await this.app.module('stats');\n const log = await this.log.createChild({ name: `${test.id}` });\n const request = createRequest({\n apm,\n labels: {\n proxyTest: test.id,\n },\n stats,\n log,\n });\n // console.log({ proxy });\n const res = {\n id: getId({ proxy, test }),\n proxy,\n proxyKey: proxy?.key || '?',\n test,\n };\n const startedAt = new Date();\n try {\n await this.request(test.req, { proxy, request });\n res.status = 'success';\n } catch (err) {\n res.status = 'error';\n res.errCode = Err.getCode(err);\n // res.err = err; // NOTE: вырубил, чтобы не переполнять память\n }\n res.time = Date.now() - startedAt;\n res.updatedAt = Date.now();\n const expired = test.expired || 5 * 60 * 1000;\n res.expiredAt = Date.now() + expired;\n // const ok = test.validate ? await test.validate(res2) : true;\n return res;\n }\n getCache(id) {\n if (!this.cache.results[id]) return null;\n if (this.cache.results[id].expiredAt < Date.now()) {\n delete this.cache.results[id];\n return null;\n }\n return this.cache.results[id];\n }\n setCache(res) {\n let { id } = res;\n if (!id) id = getId(res);\n if (!id) throw new Err('!id', { res });\n this.cache.results[id] = res;\n this.cache.updatedAt = Date.now();\n this.cache.proxyStats = groupBy(this.cache.results, 'proxy.key');\n }\n updateCache() {\n Object.keys(this.cache.results).map((id) => this.getCache(id));\n }\n\n getResults() {\n this.updateCache();\n return this.cache.results;\n }\n async runTest({ proxy, testId, test, force = false, ...props } = {}) {\n if (!test && testId) {\n // eslint-disable-next-line no-param-reassign\n test = find(this.tests, { id: testId });\n }\n const id = getId({ proxy, test });\n let res = this.getCache(id);\n if (res && !force) return res;\n res = await this.execTest({ id, proxy, test, ...props });\n // this.log.trace('[runTest]', res)\n this.setCache(res);\n return res;\n }\n getProxyStats(proxyList) {\n if (!proxyList) return this.cache.proxyStats;\n const proxyKeys = proxyList.map((proxy) => proxy.key);\n return pick(this.cache.proxyStats, proxyKeys);\n }\n async runTests(proxyList, { force = false } = {}) {\n const { concurrency } = this.config;\n const stats = await this.app.module('stats');\n stats.startTimer();\n // this.log.trace('[runTests] start');\n const res = await Bluebird.map(\n shuffle(proxyList),\n (proxy) =>\n Bluebird.map(shuffle(this.tests), (test) => this.runTest({ proxy, test, force }), {\n concurrency: 1,\n }),\n { concurrency },\n );\n stats.stopTimer();\n // this.log.debug('[runTests]', res);\n return flatten(res);\n }\n}\n\nexport default ProxyTests;\n"],"mappings":"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"}
\No newline at end of file