服务连接与客户端库开发指南
1. 并行请求基础
在首次请求返回条目 ID 后,就可以构建对条目和评级服务的请求。评级服务请求会给出参数哈希中传入的条目 ID 的评级。 on_complete 处理程序会分配解析后的响应,以供后续使用。对条目服务的请求(返回完整条目)也是如此。每个请求都会添加到 hydra 队列中。
graph LR
A[首次请求返回条目 ID] --> B[构建条目和评级服务请求]
B --> C[请求添加到 hydra 队列]
C --> D[运行 hydra 队列]
D --> E{请求完成?}
E -- 是 --> F[调用 on_complete 处理程序]
E -- 否 --> D
最后,完整构建的 entry_list_request 会添加到 hydra 队列中,并进行阻塞调用以运行。需要注意的是,评级和条目请求的 on_complete 处理程序并不保证按特定顺序运行。
2. 多线程请求
2.1 多线程请求概述
并行执行请求的一种选择是在多个线程中运行它们。但在 Ruby 中,由于 Ruby 1.8 的用户级线程和 Ruby 1.9 的全局解释器锁,线程请求的性能可能无法真正反映并行性。不过,通过线程运行多个请求仍有一些性能提升。
超级会员免费看
订阅专栏 解锁全文
972

被折叠的 条评论
为什么被折叠?



