OpenSwoole Hook Sleep

Latest version: pecl install openswoole-4.11.1

Since OpenSwoole v4.10.0 the data type of $seconds is fixed inline with PHP

The SWOOLE_HOOK_SLEEP flag will enable coroutine support for blocking sleep PHP functions. Support was added in OpenSwoole v4.2.0.

This includes support for:

  • sleep
  • usleep
  • time_nanosleep
  • time_sleep_until

Example

<?php

Co::set(['hook_flags' => SWOOLE_HOOK_SLEEP]);

Co\run(function()
{
    go(function()
    {
        sleep(1);
        echo '1' . PHP_EOL;
    });

    go(function()
    {
        echo '2' . PHP_EOL;
    });
});
Last updated on March 31, 2022