Ruby 来自单个Sidekiq工作进程的并发HTTP请求?

Ruby 来自单个Sidekiq工作进程的并发HTTP请求?,ruby,multithreading,sidekiq,Ruby,Multithreading,Sidekiq,我正在尝试与谷歌的日历API交互。到目前为止,我的测试显示插入单个事件的响应时间为5-10秒,我可能需要一次导出数千个事件[不要问]。这似乎很可能会让我的队列浪费掉不合理的时间。(此应用程序中95%的当前作业在中完成。在Sidekiq作业线程中使用线程是合理的。构建自己的线程基础设施是不合理的。您可以使用可重用的线程池和concurrent ruby或parallelgems,您可以使用线程安全且允许并发请求的http客户端EST等。Tony Arcieri提供的HTTP.rb是一个很好的工具,

我正在尝试与谷歌的日历API交互。到目前为止,我的测试显示插入单个事件的响应时间为5-10秒,我可能需要一次导出数千个事件[不要问]。这似乎很可能会让我的队列浪费掉不合理的时间。(此应用程序中95%的当前作业在中完成。在Sidekiq作业线程中使用线程是合理的。构建自己的线程基础设施是不合理的。您可以使用可重用的线程池和
concurrent ruby
parallel
gems,您可以使用线程安全且允许并发请求的http客户端EST等。Tony Arcieri提供的HTTP.rb是一个很好的工具,但是普通的旧net/HTTP也可以:

请记住,有一些复杂性:作业可能会重试,如何处理HTTP客户端引发的错误?如果不将这些请求与作业1对1拆分,则可能需要跟踪每个请求,否则幂等性将成为一个问题


欢迎您随时增加Sidekiq企业线程数。:-D

谢谢,Mike!总是很乐意给您寄更多的钱(特别是当不是我的钱的时候)。:)Sidekiq wiki上说Typhous经常崩溃,所以我知道您不建议将其用于Sidekiq?这句话还有效吗?