问题标签 [event-stream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Django 服务器发送事件未触发 HTML5 侦听器
当在服务器上检测到异步事件时,我需要一个 django 模板来刷新。我在我的开发服务器上使用 django-channels 成功实现了这一点。
但是,我需要部署到 (pythonanywhere.com) 的服务器不支持 ASGI 应用程序,所以我不能在那里使用 django-channels。
我尝试使用https://github.com/fanout/django-eventstream#setup-without-channels中的建议使用 django-eventsteam 构建一个非常简单的服务器发送事件。
我从我的虚拟环境中卸载了频道和频道-redis,然后安装了 django-eventstream(重新安装了频道)
我尝试使用图钉和扇出作为消息代理,但我仍然遇到同样的问题。
服务器发送的消息似乎已正确发送:
但似乎没有被客户端检测到。
我只想在检测到服务器发送事件时刷新页面,但没有触发侦听器,控制台上没有出现任何消息,也没有发生刷新。
否则连接似乎没问题,我在服务器端控制台上每 3 秒重复一次此消息:
在 chrome 浏览器中,我向 reconnecting-eventsource.js 添加了一些跟踪消息,并在客户端控制台上重复此消息序列:
当调度服务器发送的事件时,此序列不会更改,并且没有证据表明客户端收到了消息。
事件侦听器似乎没有在客户端上注册,并且侦听器内的调试消息没有出现在控制台跟踪中,所以我假设它没有被调用。
关于我做错了什么或如何调试的任何提示将不胜感激。
go - 如何为服务器发送事件(SSE、EventStream)配置 IIS 的 HTTPPlatformHandler
目前我有提供 SSE 作为服务的程序,我必须在 IIS 上部署。但它不能正常工作,这是我在没有 IIS 的情况下运行 .exe 时的结果。
但是当它在 IIS 后面运行时,浏览器被卡在加载中。我必须刷新事件Hello, world
数千次才能使 IIS 刷新结果到浏览器,并且它会立即刷新,而不是像 SSE 那样进行增量更新。
这是我的web.config
这是我的go
代码
node.js - Node.js 使用 Streams 更新存储在 S3 上的文件
我想要做的是从 S3 读取文件 - 更新一些信息 - 将其上传回来,全部使用流,而无需在服务器上创建文件的副本。我使用事件流库来解析文件,如下所示:(已更新解决方案!)
我的问题是,当我返回这个流时,它关闭并且可读:false,所以我不能使用它:
有什么想法吗?事件流最终关闭了流,这就是为什么当我将其传回时它的可读性:假。
如何创建读取流、更改数据并使流可读以便将其传递给 s3.upload 函数?
解决方案
最后我设法得到这个工作。
我创建了一个 writeStream 临时文件,每次迭代后我都会在其中写入。当流结束时,我关闭 writeStream 以关闭我的临时文件。
然后我将它上传回 S3(从我的临时文件创建一个 readStream)。
上传完成后,我会删除我的临时文件。
server-sent-events - 如何在服务器端而不是浏览器读取 SSE 事件流
我正在创建一个应用程序来读取事件流并将信息保存在我的数据库中。
我有一个 URL: http://xx.xx.xx.xx:8080/restconf/streams/mno-vnf-event/json
headers required: Accept:text/event-stream
, Authorization:Basic YWRtaW46o99RtaW4-
,Content-Type:application/yang-data+json
现在我想使用java(不是javascript代码)从上面的API中获取流,任何人都有想法来完成这个。
sql - “会话”事件流
我有一个问题应该在 SQL 之外解决,但由于业务限制需要在 SQL 中解决。
- 所以,请不要告诉我在 SQL 之外的数据摄取时这样做,我想这样做,但这不是一个选项......
我有一个事件流,具有 4 个主要属性....
- 源设备
- 事件的时间戳
- 事件的“类型”
- 事件的“有效负载” (代表各种数据类型的可怕 VARCHAR)
我需要做的是将流分成几部分(我将其称为“会话”)。
- 每个会话都特定于设备(实际上,
PARTITION BY device_id
) - 一个会话不得包含多个相同类型的事件
为了缩短示例,我将它们限制为仅包含时间戳和 event_type ...
理想化的最终输出可能是旋转最终结果......
(但这还不是一成不变的,但我需要“知道”哪些事件构成一个会话,它们的时间戳是什么,以及它们的有效负载是什么。可能只需将 session_id 列附加到输入就足够了,只要我不“丢失”其他属性。)
有:
- 12 种离散事件类型
- 数十万台设备
- 每台设备数十万个事件
- 每个“会话”大约 6-8 个事件的“标准”
- 但有时一个会话可能只有 1 个或全部 12 个
这些因素意味着半笛卡尔积之类的,嗯,不太理想,但可能是“唯一的方法”。
我(在我的脑海中)玩过分析函数和间隙和孤岛类型的过程,但永远无法达到目标。我总是回到一个我“想要”一些标志的地方,我可以将它们从一行带到另一行并根据需要重置它们......
在 SQL 中不起作用的伪代码...
对此的任何 SQL 解决方案都表示赞赏,但如果您还可以考虑“同时发生”的事件,您将获得“奖励积分”......
babeljs - babel-preset-env 安装失败
在安装 babel-preset-env 时, npm install --save-dev babel-preset-env
它说 404 Not Found: event-stream@3.3.6 似乎由于安全问题从 npm 中提取了事件流,但 babel-preset-env 似乎仍然依赖它。有关如何解决它的任何提示?
javascript - 异步/等待事件流 mapSync 不起作用
await
我评论过的命令//******This await does not work */
似乎不起作用。不确定这是否与它们在事件流中的事实有关,或者与导入模块中的承诺问题有关。
当我run
从映射数组中调用该函数以插入来自多个源的数据时,该run
函数会立即返回,而不是等到knex
完成插入数据。
这是我run
从上面的代码中调用的函数。
这是我的模块文件,它返回一个承诺
这是输出的示例
google-cloud-platform - 如何使用 GCP 平台流式传输事件?
我正在研究构建一个简单的解决方案,其中生产者服务将事件推送到消息队列,然后让流服务通过 gRPC 流 API 提供这些服务。
Cloud Pub/Sub 似乎非常适合这项工作,但是扩展流服务意味着该服务的每个副本都需要创建自己的订阅并在缩减之前将其删除,这似乎不必要地复杂,而不是平台的预期用途。
另一方面,Kafka 似乎适用于这样的事情,但我想避免必须管理底层平台本身,而是利用云基础设施。
我还应该提到,拥有流式 API 的原因是允许流向前端(可能无法访问底层基础设施)
有没有更好的方法来使用 GCP 平台做这样的事情,而无需部署和管理我自己的基础设施?
wso2 - 当尝试使用 JMeter 生成的事件流执行 Siddhi APP 时,RAM 使用失控
当尝试使用 JMeter 模拟事件流并将其用作 siddhi 上的源时,它会工作一段时间,但最终会导致 RAM 被过度使用并且程序的执行停止。
我尝试在没有数据库的情况下使用数据库执行代码,使用分区来一一获取事件。
这是流代码:
这是接收器流:
这是从一个流复制到另一个流所执行的查询:
预期的结果是 wso2worker 将显示所有事件都已处理并插入到接收器流中。在 JMeter 上,我模拟 1 个用户在 1 小时内引入 6000 个事件,看起来内存最终过度使用并且模拟停止。尝试使用分区和内存使用率提高了很多,但仍然以失败告终。我能想到的是这是一个编码问题,但似乎找不到任何可能导致这种情况的东西。
//对不起英语不好,不是我的第一语言//