本文整理匯總了TypeScript中plywood.helper.concurrentLimitRequesterFactory方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript helper.concurrentLimitRequesterFactory方法的具體用法?TypeScript helper.concurrentLimitRequesterFactory怎麽用?TypeScript helper.concurrentLimitRequesterFactory使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類plywood.helper
的用法示例。
在下文中一共展示了helper.concurrentLimitRequesterFactory方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: properDruidRequesterFactory
export function properDruidRequesterFactory(options: ProperDruidRequesterOptions): Requester.PlywoodRequester<any> {
var {
druidHost,
retry,
timeout,
verbose,
concurrentLimit,
requestDecorator
} = options;
var druidRequester = druidRequesterFactory({
host: druidHost,
timeout: timeout || 30000,
requestDecorator
});
if (retry) {
druidRequester = helper.retryRequesterFactory({
requester: druidRequester,
retry: retry,
delay: 500,
retryOnTimeout: false
});
}
if (verbose) {
druidRequester = helper.verboseRequesterFactory({
requester: druidRequester
});
}
if (concurrentLimit) {
druidRequester = helper.concurrentLimitRequesterFactory({
requester: druidRequester,
concurrentLimit: concurrentLimit
});
}
return druidRequester;
}
示例2: properRequesterFactory
export function properRequesterFactory(options: ProperRequesterOptions): Requester.PlywoodRequester<any> {
var {
type,
host,
retry,
timeout,
verbose,
concurrentLimit
} = options;
var requester: Requester.PlywoodRequester<any>;
switch (type) {
case 'druid':
requester = druidRequesterFactory({
host,
timeout: timeout || 30000,
requestDecorator: options.druidRequestDecorator
});
break;
case 'mysql':
requester = mySqlRequesterFactory({
host,
database: options.database,
user: options.user,
password: options.password
});
break;
case 'postgres':
requester = postgresRequesterFactory({
host,
database: options.database,
user: options.user,
password: options.password
});
break;
default:
throw new Error(`unknown requester type ${type}`);
}
if (retry) {
requester = helper.retryRequesterFactory({
requester: requester,
retry: retry,
delay: 500,
retryOnTimeout: false
});
}
if (verbose) {
requester = helper.verboseRequesterFactory({
requester: requester
});
}
if (concurrentLimit) {
requester = helper.concurrentLimitRequesterFactory({
requester: requester,
concurrentLimit: concurrentLimit
});
}
return requester;
}
示例3: run
//.........這裏部分代碼省略.........
dataName = sqlParse.table;
dataSource = sqlParse.table;
} else {
console.log("must have data source");
return;
}
var timeout: number = parsed.hasOwnProperty('timeout') ? parsed['timeout'] : 60000;
var requester: Requester.PlywoodRequester<any>;
requester = druidRequesterFactory({
host: host,
timeout
});
var retry: number = parsed.hasOwnProperty('retry') ? parsed['retry'] : 2;
if (retry > 0) {
requester = helper.retryRequesterFactory({
requester: requester,
retry: retry,
delay: 500,
retryOnTimeout: false
});
}
if (verbose) {
requester = helper.verboseRequesterFactory({
requester: requester
});
}
var concurrent: number = parsed.hasOwnProperty('concurrent') ? parsed['concurrent'] : 2;
if (concurrent > 0) {
requester = helper.concurrentLimitRequesterFactory({
requester: requester,
concurrentLimit: concurrent
});
}
var timeAttribute = '__time';
var filter: Expression = null;
var intervalString: string = parsed['interval'];
if (intervalString) {
try {
var interval = parseIntervalString(intervalString);
} catch (e) {
console.log("Could not parse interval", intervalString);
console.log(e.message);
return;
}
filter = $(timeAttribute).in(interval);
}
var druidContext: Druid.Context = {
timeout
};
if (parsed['skip-cache']) {
druidContext.useCache = false;
druidContext.populateCache = false;
}
var dataset = External.fromJS({
engine: 'druid',