twosee

Results 159 comments of twosee

### Swoole\Server协程化 目前Swoole协程还是异步化回调模式的, 如果使用了协程模式, 思路就会非常清晰, 而且代码也是如同同步模式一般, 像长连接的tcp协议(如websocket), 可以直接同步顺序书写每个请求的处理代码, 而不是每次都在回调里处理. ```php $socket = new Swoole\Coroutine\Socket(AF_INET, SOCK_STREAM, IPPROTO_IP); // 创建服务器socket $socket->bind('127.0.0.1', 9501); // 绑定端口 $socket->listen(128); // 监听并设置backlog大小 while ($conn = $socket->accept()) {...

计划中的5.0版本就是这样的一个纯协程版本,4.x转为lts,同步异步协程并存。

@onanying @limingxinleo brpop只是会阻塞对应的协程客户端和客户端所绑定的单个协程, 其它协程仍在运行, 不受影响, 在协程里曾经的阻塞方法都会被自动调度, 让出控制权.

> Co::shutdown 命名好坑,建议 > > * Co::kill 采纳

> @qxhy123 能不能提供更多中断的使用场景? 这个问题很适合在这里解答 ### 异步安全重启+平滑退出的更优解 在现有方案中, 异步安全重启+平滑退出都是有最大超时时间的, 如果服务长时间没有顺利完成手头已有任务, 进程会被直接强制退出, 可能会造成一些未知的问题. 但是有协程中断功能后, 可以在超时后先尝试取消所有协程, 所有IO会按照失败分支逻辑运行, 完成使命(如服务器能够正确地返回超时错误, 当前服务不可用等), 而不是由于进程挂掉而导致请求丢失/连接被强制切断 ### 基于协程粒度的超时熔断/异常熔断 如题, 原先已挂起的协程是不可主动调度的 ### 更加灵活的封装 框架层一定会非常需要这样层次的API来进行控制 ### 更好的API设计 和传统PHP的类似功能的API不同的是, swoole中大量的API增加了timeout参数, 当然也有部分难以添加或者说不合适添加timeout参数的(会很奇怪, 设计上也有困难),...

I am confused, we have `set(CMAKE_C_STANDARD 90)` in CMakeLIsts.txt but we are using c11 atomic at the same time... Does this mean we need to switch to the C11 standard...

I am finding a way that to translate Chinese doc to any other languages' doc automatically by Google translator. But it can not recognize the markdown and may confuse code...

https://github.com/grpc/grpc/tree/master/src/php#protocol-buffers

No mis-translation I guess, do not use`grpc.so`, but `protobuf.so` and `grpc_php_plugin` are needed.