小编Eri*_*ric的帖子

适用于商品linux存储场的最佳分布式文件系统

我有很多备用的intel linux服务器(数百个),并希望在Web托管和文件共享环境中将它们用于分布式文件系统.这不适用于HPC应用程序,因此高性能并不重要.主要要求是高可用性,如果一台服务器脱机,存储在其硬盘上的数据仍可从其他节点获得.它必须通过TCP/IP运行并提供标准POSIX文件权限.

我看了下面的内容:

有没有人对这些或任何其他可能有效的系统有任何经验?

linux filesystems distributed-computing distributed-system

34
推荐指数
2
解决办法
4万
查看次数

递归/循环 NSURLSession 异步完成处理程序

我使用的 API 需要多次请求才能获取搜索结果。之所以这样设计,是因为搜索可能需要很长时间(> 5 分钟)。初始响应立即返回有关搜索的元数据,该元数据用于后续请求,直到搜索完成。我不控制 API。

  • 第一个请求是对https://api.com/sessions/search/的 POST
  • 对此请求的响应包含有关搜索的 cookie 和元数据。此响应中的重要字段是search_cookie(a String) 和search_completed_pct(an Int)
  • 第二请求是POST到 https://api.com/sessions/results/search_cookie附加到URL。例如https://api.com/sessions/results/c601eeb7872b7+0
  • 对第二个请求的响应将包含:
    • 查询完成后的搜索结果(又名search_completed_pct== 100)
    • 关于搜索进度的元数据,search_completed_pct是搜索的进度,将在 0 到 100 之间。
  • 如果搜索未完成,我想每 5 秒发出一次请求,直到完成(又名search_completed_pct== 100)

我在这里找到了很多类似的帖子,很多帖子都使用了调度组和 for 循环,但这种方法对我不起作用。我尝试了一个 while 循环,但在变量作用域方面遇到了问题。调度组对我也不起作用。这闻起来像是走错了路,但我不确定。

我正在寻找合适的设计来进行这些递归调用。我应该使用委托还是闭包+循环?我碰壁了,需要一些帮助。

下面的代码是我尝试过的总体思路(为了清晰起见进行了编辑。没有 dispatch_groups()、错误处理、json 解析等)

视图控制器.swift

apiObj.sessionSearch(domain) { result in
  Log.info!.message("result: \(result)")
})
Run Code Online (Sandbox Code Playgroud)

apiObj.swift

func sessionSearch(domain: String, sessionCompletion: (result: SearchResult) -> ()) {

      // Make request to /search/ url
      let task = …
Run Code Online (Sandbox Code Playgroud)

swift

2
推荐指数
1
解决办法
1498
查看次数