webman如何实现 主动阻塞

4yop

问题描述

如何实现 for sleep ?

public function index(Request $request)
    {
        $counter = 0;
        for ($i = 1; $i <= 10; $i++) {
            sleep(1);
            $counter++;
        }
        return $counter;
    }
568 2 2
2个回答

ersic

用官方的限速器

  • 4yop 10天前

    只是想请求迟点返回呢?

walkor 打赏

worekrman 5.1支持 Timer::sleep(); ,支持延迟当前请求,但不阻塞进程。

composer require revolt/event-loop

设置
config/process.php 里webman进程的

'eventLoop' => Workerman\Events\Fiber::class,
use Workerman\Timer;

public function index(Request $request)
    {
        $counter = 0;
        for ($i = 1; $i <= 10; $i++) {
            Timer::sleep(1);
            $counter++;
        }
        return $counter;
    }
  • 暂无评论
×
🔝