wucdbm/guzzle-request-pool

真正工作的 GuzzleHttp 并发请求池

v0.1.3 2024-04-09 20:48 UTC

This package is auto-updated.

Last update: 2024-09-09 21:42:55 UTC


README

厌倦了你的 GuzzleHttp 请求池随机不工作吗?

厌倦了试图正确获得并发性,以便 Guzzle 真正执行 所有 请求吗?

厌倦了因为最后一个异步请求没有执行,你也不知道为什么而拔头发吗?

你来到了正确的位置!

只需像使用 GuzzleHttp\Pool 一样使用 Wucdbm\GuzzleHttp\Pool,享受冰镇啤酒吧 ;)

composer require wucdbm/guzzle-request-pool

实际上,Guzzle 的 Pool 在大多数情况下都工作得很好,除了几行设计明显错误代码。问题发生在你从满足的处理程序发送任意数量的额外请求时。这个库解决了这个问题。

感谢 GuzzleHttp 团队创建了这个出色的库和池,我只是进行了修复。由于我的更改在开发过程中偏离了仅仅几行代码,我决定发布这个小库。它应该与 Guzzle "guzzlehttp/guzzle": "~6.0" 完全兼容。如果你遇到任何问题,请告诉我。

保留了我使用的 Guzzle 代码中的原始注释(大部分)。

待办事项

  • IteratorWrapper 应该检查 $requests instanceof static,然后执行 $this->iterator = $requests->iterator;,因为否则我们会调用两次 current() 方法,从而尝试发送异步承诺,或将其作为函数执行