revolt/event-loop 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

revolt/event-loop

Composer 安装命令:

composer require revolt/event-loop

包简介

Rock-solid event loop for concurrent PHP applications.

README 文档

README

Revolt is a rock-solid event loop for concurrent PHP applications. The usual PHP application spends most of its time waiting for I/O. While PHP is single threaded, cooperative multitasking can be used to allow for concurrency by using the waiting time to do different things.

PHP's traditional synchronous execution flow is easy to understand. Doing one thing at a time. If you query a database, you send the query and wait for a response from the database server. Once you have the response, you can start doing the next thing.

Amp, ReactPHP, and other libraries have offered cooperative multitasking in PHP for a long time. However, their event-driven nature was incompatible to many existing interfaces and required a different thinking model. PHP 8.1 ships with fibers built-in, which offers cooperative multi-threading. Calls can be synchronous without promises or callbacks, while still allowing for non-blocking I/O.

Every application making use of cooperative multitasking needs a single scheduler (also called event loop), which this package provides. Revolt is the result of combining years of experience of Amp's and ReactPHP's event loop implementations. However, it is not a full-blown framework for writing concurrent PHP applications, but only provides what's necessary as a common base. Different (strongly) opinionated libraries can be built on top of it and both Amp and ReactPHP will continue to co-exist.

Installation

It may surprise people to learn that the PHP standard library already has everything we need to write event-driven and non-blocking applications. This package can be installed as a Composer dependency on PHP 8.1 and later.

composer require revolt/event-loop

Applications with many concurrent file descriptors require one of the extensions.

→  View documentation
→  View examples

Versioning

revolt/event-loop follows the semver semantic versioning specification.

License

The MIT License (MIT). Please see LICENSE file for more information.

revolt/event-loop 适用场景与选型建议

revolt/event-loop 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 52.51M 次下载、GitHub Stars 达 924, 最近一次更新时间为 2021 年 10 月 14 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「event」 「event-loop」 「async」 「asynchronous」 「scheduler」 「concurrency」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 revolt/event-loop 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 revolt/event-loop 我们能提供哪些服务?
定制开发 / 二次开发

基于 revolt/event-loop 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 52.51M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 928
  • 点击次数: 41
  • 依赖项目数: 171
  • 推荐数: 7

GitHub 信息

  • Stars: 924
  • Watchers: 26
  • Forks: 38
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-10-14