如何使用 NSUrlsession 处理超过 1000 个 api 请求
Posted
技术标签:
【中文标题】如何使用 NSUrlsession 处理超过 1000 个 api 请求【英文标题】:How to handling more than 1000 api request using NSUrlsession 【发布时间】:2016-11-22 10:43:26 【问题描述】:-(instancetype)initWithDataTaskWithUrlRequest:(NSURLRequest *)request WithIdentifierIndex:(NSString*)identifier
self = [super init];
if (self)
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:[NSString stringWithFormat:@"%@",[self uuid]]];
configuration.HTTPMaximumConnectionsPerHost = 1;
operationSession = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration] delegate:self delegateQueue:nil];
_sessionDataTask = [operationSession dataTaskWithRequest:request];
return self;
我有一个操作队列。并且在每个NSOperation
中,我都使用会话来下载内容。我有ephemeralSessionConfiguration
和DefaultSessionConfiguration
。它适用于 200 0r 300 次操作。但是当操作增加到 1000 到 1000+ 它会给我超时,握手错误。请帮助我寻求最佳解决方案。
【问题讨论】:
【参考方案1】:在同一个NSURLSessionConfiguration
中,您可以添加/增加超时为:
configuration.timeoutIntervalForRequest = KTimeOutValue; //Your timeout value
【讨论】:
以上是关于如何使用 NSUrlsession 处理超过 1000 个 api 请求的主要内容,如果未能解决你的问题,请参考以下文章
作为命令行工具运行时,如何让 NSURLSession 处理 completionHandler
使用 NSURLSession 处理 HTTP 错误的最佳实践?
iOS:如何增加 NSURLSession 上传任务的块大小?
NSURLSession delegateQueue 的 maxConcurrentOperationCount 如何影响任务并发