@Override public <T> Task<Response<T>> createTask(final Request<T> request, final RequestContext requestContext) { return createTask(generateTaskName(request), request, requestContext, _requestConfigProvider.apply(request)); }
private <T> Task<Response<T>> createTask(final String name, final Request<T> request, final RequestContext requestContext, RequestConfig config) { LOGGER.debug("createTask, name: '{}', config: {}", name, config); if (_d2RequestTimeoutEnabled) { return createTaskWithD2Timeout(name, request, requestContext, config); } else { return createTaskWithTimeout(name, request, requestContext, config); } }
private <T> Task<Response<T>> createTaskWithTimeout(final String name, final Request<T> request, final RequestContext requestContext, RequestConfig config) { ConfigValue<Long> timeout = config.getTimeoutMs(); Task<Response<T>> requestTask; if (RequestGroup.isBatchable(request, config)) { requestTask = createBatchableTask(name, request, requestContext, config); } else { requestTask = Task.async(name, () -> sendRequest(request, requestContext)); } if (!needApplyTaskTimeout(requestContext, timeout)) { return requestTask; } else { return withTimeout(requestTask, timeout); } }
final RequestContext requestContext, RequestConfig config) { ConfigValue<Long> timeout = config.getTimeoutMs(); boolean taskNeedTimeout = needApplyTaskTimeout(requestContext, timeout); if (taskNeedTimeout) { requestTask = createBatchableTask(name, request, requestContext, config); } else { requestTask = Task.async(name, () -> sendRequest(request, requestContext)); return withD2Timeout(requestTask, timeout);
@Override public <T> Task<Response<T>> createTask(Request<T> request, RequestConfigOverrides configOverrides) { return createTask(request, _requestContextProvider.apply(request), configOverrides); }
private boolean needApplyTaskTimeout(RequestContext requestContext, ConfigValue<Long> timeout) { // if no timeout configured or per-request timeout already specified in request context return timeout.getValue() != null && timeout.getValue() > 0 && !hasRequestContextTimeout(requestContext); }
_requestContextProvider; ParSeqRestClient parseqClient = new ParSeqRestClient(_client, configProvider, requestContextProvider, _d2RequestTimeoutEnabled); if (_batchingSupport != null) { LOGGER.debug("Found batching support");
@Override public <T> Task<Response<T>> createTask(final Request<T> request) { return createTask(request, _requestContextProvider.apply(request)); }
@Override public <T> Task<Response<T>> createTask(Request<T> request, RequestContext requestContext, RequestConfigOverrides configOverrides) { RequestConfig config = _requestConfigProvider.apply(request); RequestConfigBuilder configBuilder = new RequestConfigBuilder(config); RequestConfig effectiveConfig = configBuilder.applyOverrides(configOverrides).build(); return createTask(generateTaskName(request), request, requestContext, effectiveConfig); }
/** * @deprecated ParSeqRestClient generates consistent names for tasks based on request parameters and it is * recommended to us default names. */ @Deprecated public <T> Task<Response<T>> createTask(final String name, final Request<T> request, final RequestContext requestContext) { return createTask(name, request, requestContext, _requestConfigProvider.apply(request)); }