gpt4 book ai didi

api - 如何在 Rails API 中集成批量请求?

转载 作者:行者123 更新时间:2023-12-04 20:42:39 25 4
gpt4 key购买 nike

我正在使用 Rails 4 构建 API,我真的想创建一个批处理请求方法,以便在执行一堆 ajax 请求时不会使我的应用程序过载。

Railscasts 以一种简单的方式展示了如何做到这一点,但缺少很多东西。

我也尝试了 batch_api gem,但我没有成功地将它与我的应用程序集成。

有任何想法吗?

最佳答案

我知道现在回答这个问题已经晚了,但我最近在我的 Rails API(rails 5.0.0 和 Ruby 2.0)中使用了 batch_api gem,它对我有用。

您需要做的是按照本文档的说明进行操作:
https://github.com/arsduo/batch_api

不久:

1- 您需要将 batch_api gem 添加到您的应用程序 GemFile。

2- 您需要在 application.rb 文件中添加所需的中间件配置:

config.middleware.use BatchApi::RackMiddleware do |batch_config|
# you can set various configuration options:
batch_config.verb = :put # default :post
batch_config.endpoint = "/batchapi" # default /batch
batch_config.limit = 100 # how many operations max per request, default 50

# default middleware stack run for each batch request
batch_config.batch_middleware = Proc.new { }
# default middleware stack run for each individual operation
batch_config.operation_middleware = Proc.new { }
end

3-然后重新启动您的rails服务器。

确保在适当的位置插入新的中间件,在我的情况下,我需要将它包含在“ActionDispatch::RequestId”中间件之前。
config.middleware.insert_before "ActionDispatch::RequestId", BatchApi::RackMiddleware

因为我想在 Batch 请求的每个请求中包含 X-Request-ID header ,并且这个 ID 将在每个响应中返回,以便我可以知道 Batch 中每个请求的响应(注意,响应将根据在批处理中的每个请求的序列上)。

关于api - 如何在 Rails API 中集成批量请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23303324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com