gpt4 book ai didi

ruby-on-rails - Rails 如何解析文本/事件流?

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:54 24 4
gpt4 key购买 nike

我有一个 API url,它是内容类型为数据流的:text/event-stream

怎么可能收听流?喜欢订阅每个事件来打印数据?我尝试使用 ruby​​ 库 em-eventsource

我的test.rb 文件:

require "em-eventsource"
EM.run do
source = EventMachine::EventSource.new("my_api_url_goes_here")
source.message do |message|
puts "new message #{message}"
end
source.start
end

当我访问我的 api url 时,我可以看到每秒更新的数据。但是当我在终端中运行 ruby​​ 文件时,它不会打印任何数据/消息。

最佳答案

设置一个计时器来检查source.ready_state,好像因为某种原因没有连接到api

编辑:看来您的问题出在 https 的 SNI 中,当前的 eventmachine 版本不支持它,因此在连接 eventsource 时尝试连接到 api 机器上的默认虚拟主机,而不是 api 所在的主机,因此 CONNECTING 状态

尝试使用 master 分支的 eventmachine,它已经声明支持 SNI,将在 1.2.0 中发布:

gem 'eventmachine', github:'eventmachine/eventmachine'

关于ruby-on-rails - Rails 如何解析文本/事件流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33853945/

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